AlertDialog弹出对话框条件不成立不消失
来源:互联网 发布:千方百计软件 编辑:程序博客网 时间:2024/05/06 11:05
很多时候,我们需要使用AlertDialog弹出一个对话框,但系统的AlertDialog对话框一旦点击了按钮,就会退出,而有时候我们需要
在对话框中判断条件,条件不成立则对话框不消失,如弹出一个密码
框,当用户输入正确时,AlertDialog才消失并作相应操作,这时我们可以使用LayoutInflater自定义一个AlertDialog。代码如下
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="AlertDialog" /></LinearLayout>
my_dialog.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#F5E058" android:orientation="vertical" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="5dp" > <ImageView android:id="@+id/image" android:layout_width="50dp" android:layout_height="50dp" android:scaleType="centerInside" /> <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_gravity="center" android:gravity="center" android:text="已经加密,需要密码才能进入应用" android:textColor="#B70DFA" android:textSize="17sp" /> </LinearLayout> <EditText android:id="@+id/dialog_edt" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入应用保护密码" android:padding="5dp" /> <LinearLayout android:layout_width="match_parent" android:layout_height="fill_parent" android:layout_gravity="center" android:gravity="center" > <Button android:id="@+id/btn_cancel" android:layout_width="0dp" android:layout_height="fill_parent" android:layout_gravity="center" android:layout_weight="1" android:gravity="center" android:onClick="click" android:text="取消" /> <Button android:id="@+id/btn_determine" android:layout_width="0dp" android:layout_height="fill_parent" android:layout_gravity="center" android:layout_weight="1" android:gravity="center" android:onClick="click" android:text="确定" /> </LinearLayout></LinearLayout>
MainActivity.java
package com.example.demo_layoutinflater;import android.app.Activity;import android.app.AlertDialog;import android.content.Context;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ImageView;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener { private Button button; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button) findViewById(R.id.button); button.setOnClickListener(this); } @Override public void onClick(View v) { showMyDialog(); } public void showMyDialog() { AlertDialog.Builder builder; AlertDialog alertDialog; Context mContext = MainActivity.this; LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(LAYOUT_INFLATER_SERVICE); View view = inflater.inflate(R.layout.my_dialog, null); ImageView image = (ImageView) view.findViewById(R.id.image); image.setImageResource(R.drawable.attention); Button btn = (Button) view.findViewById(R.id.btn_determine); Button btn2 = (Button) view.findViewById(R.id.btn_cancel); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this, "你好", 0).show(); } }); btn2.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this, "滚蛋", 0).show(); } }); builder = new AlertDialog.Builder(mContext); builder.setView(view); alertDialog = builder.create(); alertDialog.show(); }}
这时,如果不在按钮事件中添加相应操作,点击多次按钮弹出框也不会消失
0 0
- AlertDialog弹出对话框条件不成立不消失
- android AlertDialog.Builder 设置对话框不消失
- 对话框弹出后,点其他地方不消失
- AlertDialog对话框自定义大小,加载网络请求,点击不消失
- AlertDialog点击按钮后对话框不消失的处理方法
- Alertdialog对话框,设置点击其他位置不消失
- Android--Alertdialog对话框,设置点击其他位置不消失
- Alertdialog对话框,设置点击其他位置不消失
- AlertDialog点击按钮后对话框不消失的处理方法
- AlertDialog点击按钮不消失
- AlertDialog的浅析,弹出框添加EditText,弹出框点击框外空间不消失
- Android中让AlertDialog点击了按钮后对话框不消失
- Android 点击AlertDialog上的确定和取消按钮,使对话框不消失
- Android4.0的Alertdialog对话框,设置点击其他位置不消失
- Android4.0的Alertdialog对话框,设置点击其他位置不消失
- Android4.0的Alertdialog对话框,设置点击其他位置不消失
- Android4.0的Alertdialog对话框,设置点击其他位置不消失
- Android4.0的Alertdialog对话框,设置点击其他位置不消失
- 将迷你音箱用作手机来电铃声放大器
- CentOS下添加sudo用户
- Oracle学习笔记(五)——Oracle表的管理
- EF中的来自数据库的EF设计器和来自数据库的CodeFirst的区别
- Android 操作数据库的框架——greenDAO的学习
- AlertDialog弹出对话框条件不成立不消失
- HDU2039
- LeetCode--sort-list
- Maven项目管理(一) IntelliJ Idea+Maven环境搭建与基于命令行的基本使用
- 对于UITextField 使用过程中遇到的各种问题的一个总结
- CodeForces 6C Alice, Bob and Chocolate
- Android的Widget的定时刷新
- NEU 1007 (字典树 DP)
- hdu 5437 Alisha’s Party(长春网络赛——优先队列)