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
0
投稿

猜你喜欢

  • 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
  • asp之家 软件编程 m.aspxhome.com