AlertDialog弹出对话框条件不成立不消失
很多时候,我们需要使用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);}@Overridepublic 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() {@Overridepublic void onClick(View v) {Toast.makeText(MainActivity.this, "你好", 0).show();}});btn2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(MainActivity.this, "滚蛋", 0).show();}});builder = new AlertDialog.Builder(mContext);builder.setView(view);alertDialog = builder.create();alertDialog.show();}
}
这时,如果不在按钮事件中添加相应操作,点击多次按钮弹出框也不会消失
AlertDialog弹出对话框条件不成立不消失相关推荐
- AlertDialog弹出对话框
AlertDialog弹出对话框 以下主要代码: package com.example.alertdialog;import android.app.Activity; import android ...
- Android开发之AlertDialog(实现弹出对话框)
文章目录 基本框架 构造方法 添加按钮 设置自定义布局 基本框架 我们在xml中添加一个按钮用来唤出对话框: <?xml version="1.0" encoding=&qu ...
- 安卓飞机大战(三) 弹出对话框
在游戏时,不管是退出游戏还是选择战机,都要弹出一个对话框,需要以下代码 按一个按钮弹出对话框 Layout文件:(添加一个按钮) <Button android:id=" ...
- [python爬虫] Selenium高级篇之窗口移动、弹出对话框自登录
在我们使用Selenium Python制作自动爬虫和网页自动测试的时候,通常会遇到弹出新的窗体或对话框的时候,此时你捕获的窗体已经被打断,从而干扰你的爬虫. 那怎么解决这个问题呢? 本篇文章主要记录 ...
- android 弹出对话框时显示键盘
今天,简单讲讲如何在弹出自定义的对话框时,弹出软键盘. 之前,我讲了如何制作自定义的对话框,现在,如果在弹出对话框时,自动弹出软键盘,将光标直接聚焦到自定义对话框的输入框内,那该怎么做呢? 在网上搜索 ...
- Android之PopupWindow弹出对话框
Android的对话框常用的有两种:PopupWindow和AlertDialog. popupWindow是一个阻塞式的弹出框,这就意味着在我们退出这个弹出框之前,程序会一直等待,,这就意味着在我们 ...
- python win10 捕获 弹出窗口_[python爬虫] Selenium高级篇之窗口移动、弹出对话框自登录...
在我们使用Selenium Python制作自动爬虫和网页自动测试的时候,通常会遇到弹出新的窗体或对话框的时候,此时你捕获的窗体已经被打断,从而干扰你的爬虫. 那怎么解决这个问题呢? 本篇文章主要记录 ...
- js“弹出对话框”和“弹出窗口”详解
JS中showModalDialog 详细使用 基本介绍: showModalDialog() (IE 4+ 支持) showModelessD ...
- android弹出对话框
最近因为项目需求,要在一个service上面弹出一个菜单,菜单响应select事件,所以花了点时间把android弹出Dialog的各种方式都看了一下. 目前学习到的android有三种方式弹出对话框 ...
最新文章
- 51nod 1272 最大距离 O(nlog(n)) , 快排 , 最大连续子串
- 点击图片弹出固定或自适应窗口
- java字符串底层实现_「JAVA」细述合理创建字符串,分析字符串的底层存储,你不该错过...
- PHP文件操作---文件file
- CentOS:linux开放指定端口命令
- PHP项目:如何用PHP高并发检索数据库?
- Kinect+OpenNI学习笔记之13(Kinect驱动类,OpenCV显示类和手部预分割类的设计)
- python练习题及答案-Python练习题
- python日记Day12——numpy速查中文手册
- div css3 border-radius 之圆角 div圆角 图片圆角
- ${pram.name}
- Blender几个简单建模
- Eclipse详细设置护眼背景色和字体(Hermit)颜色并导出
- 怎么恢复我在计算机里删掉的文档,如题,如何彻底删除电脑中的文件,使文件不能恢复?(我的方式是直接? 爱问知识人...
- python语言编写爬虫_自写Python小爬虫一个 - 『编程语言区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn...
- S3C2440之IIC
- PyQt5基础使用!(三)
- 计算机类毕业参考文献(java开发)
- java selector 源码_Java NIO——Selector机制源码分析---转
- ICO和IPO的区别
热门文章
- 淘宝开放平台淘宝店铺OAuth2.0订单商品接口接入解决方案
- MyBatis Generate的使用
- HTML框架(iframe )限制
- 利用x509数字证书实现数据渗透
- Java校验注解@NotEmpty,@NotBlank,@NotNull的使用方法和区别
- 手机内部零件名称图解_激光焊接工艺在手机零部件加工行业的应用
- 适合做python的视频_为什么说python适合做入门语言?老男孩Python视频
- Ttp-244标签机打印时怎么选择热敏纸
- 2020/11/13·Java·人脸识别一键登录/注册
- 最小环 floyd java_干货|Floyd求最小环(CF Shortest Cycle)