Android实现点击AlertDialog上按钮时不关闭对话框的方法

 更新时间:2015年02月06日 15:06:47   作者:books1958  
这篇文章主要介绍了Android实现点击AlertDialog上按钮时不关闭对话框的方法,涉及设置监听的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

相关文章

  • 详解VirtualApk启动插件Activity

    详解VirtualApk启动插件Activity

    这篇文章主要介绍了详解VirtualApk启动插件Activity,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • Android EditText自定义样式的方法

    Android EditText自定义样式的方法

    这篇文章主要介绍了Android EditText自定义样式的方法,结合实例形式分析了EditText属性的含义及样式定义的技巧,需要的朋友可以参考下
    2016-02-02
  • Android 获取 usb 权限的两种方法

    Android 获取 usb 权限的两种方法

    这篇文章主要介绍了Android 获取 usb 权限的两种方式,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • android 捕捉异常并上传至服务器的简单实现

    android 捕捉异常并上传至服务器的简单实现

    本篇文章主要介绍了android 捕捉异常并上传至服务器的简单实现,具有一定的参考价值,有兴趣的可以了解一下。
    2017-04-04
  • Android获取apk签名指纹的md5值(防止重新被打包)的实现方法

    Android获取apk签名指纹的md5值(防止重新被打包)的实现方法

    这篇文章主要介绍了Android获取apk签名指纹的md5值以防止重新被打包的实现方法,结合实例形式详细分析了Android获取apk md5值的常用技巧,需要的朋友可以参考下
    2016-07-07
  • Android Flutter实现上拉加载组件的示例代码

    Android Flutter实现上拉加载组件的示例代码

    既然列表有下拉刷新外当然还有上拉加载更多操作了,本次就为大家详细介绍如何利用Flutter实现为列表增加上拉加载更多的交互,感兴趣的可以了解一下
    2022-08-08
  • Android中activity从创建到显示的基本介绍

    Android中activity从创建到显示的基本介绍

    这篇文章主要给大家介绍了关于Android中activity从创建到显示的相关资料,文中通过示例代码介绍的非常详细,对各位Android初学者们具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧。
    2017-11-11
  • Android在ubuntu上过滤多条关键字日志

    Android在ubuntu上过滤多条关键字日志

    今天小编就为大家分享一篇关于Android在ubuntu上过滤多条关键字日志,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • Android ViewPager实现左右滑动翻页效果

    Android ViewPager实现左右滑动翻页效果

    这篇文章主要为大家详细介绍了Android ViewPager实现左右滑动翻页效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • OpenGL ES正交投影实现方法(三)

    OpenGL ES正交投影实现方法(三)

    这篇文章主要为大家详细介绍了OpenGL ES正交投影的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05

最新评论