Android实现点击AlertDialog上按钮时不关闭对话框的方法
作者:books1958 时间:2022-07-28 07:39:51
本文实例讲述了Android实现点击AlertDialog上按钮时不关闭对话框的方法。分享给大家供大家参考。具体如下:
开发过程中,有时候会有这样的需求:
点击某个按钮之后显示一个对话框,对话框上面有一个输入框,并且有“确认”和“取消”两个按钮。当用户点击确认按钮时,需要对输入框的内容进行判断。如果内容为空则不关闭对话框,并toast提示。
使用AlertDialog.Builder创建对话框时,可以使用builder.setNegativeButton和builder.setPositiveButton两个方法设置取消按钮和确认按钮的点击事件。然而问题在于,只要用户点击了确认按钮或者取消按钮,系统就会自动将对话框关闭。
解决此问题的方法是:
(1)使用builder.setPositiveButton设置确认按钮的文字,但是不添加监听。即:
builder.setPositiveButton(R.string.main_ok, null);
(2)得到AlertDialog对象:
AlertDialog alertDialog = builder.create();
alertDialog.show();
(3)获取到对话框上的确认按钮,然后对该按钮添加普通的View.OnClickListener。在用户输入正确的时候,手动调用alertDialog.dismiss()关闭对话框。
alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String cardNum = cardNumET.getText().toString().trim();
if (cardNum.length() == 0) {
Utility.showToast(mActivity, "请输入编号");
return;
}
//发送
sendProfile(cardNum);
alertDialog.dismiss();
}
});
问题完美解决。
希望本文所述对大家的Android程序设计有所帮助。
标签:Android,AlertDialog


猜你喜欢
Android DownloadProvider 源码详解
2023-02-11 03:26:17
深入解析C#设计模式编程中对建造者模式的运用
2023-02-22 08:19:35

Android自定义View实现多边形统计图示例代码
2021-09-28 13:17:44

Android 基于IntentService的文件下载的示例代码
2023-10-28 23:26:02
C#中Socket通信用法实例详解
2022-07-10 03:42:03
IDEA调试技巧条件断点实现步骤详解
2023-11-24 16:02:42

c#中LINQ的基本用法(三)
2022-11-29 11:06:31

详解c# 中的DateTime
2023-05-15 01:48:58

Android recyclerview实现纵向虚线时间轴的示例代码
2023-08-23 07:03:39

2021最新Android笔试题总结美团Android岗职能要求
2023-11-29 15:24:52

深入了解Java File对象的使用
2022-10-12 00:54:11

详解springboot springsecuroty中的注销和权限控制问题
2023-04-05 15:09:51

使用PageHelper插件实现Service层分页
2023-03-06 00:40:39

教你java面试时如何聊单例模式
2022-04-14 05:32:57

Android开发中判断手机是否安装了QQ或者微信
2022-01-09 08:44:24
关于Mybatis-Plus Update更新策略问题
2022-04-14 19:29:24

java二维数组遍历的2种代码
2022-05-03 08:52:50

Spring事务失效的一种原因关于this调用的问题
2022-07-19 20:59:21
通过与Java功能上的对比来学习Go语言
2023-02-18 02:04:53

JAVA线程池原理实例详解
2021-10-01 17:59:01
