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程序设计有所帮助。

相关文章

  • Android中使用GridView实现仿微信图片上传功能(附源代码)

    Android中使用GridView实现仿微信图片上传功能(附源代码)

    由于工作要求最近在使用GridView完成图片的批量上传功能,我的例子当中包含仿微信图片上传、拍照、本地选择、相片裁剪等功能,如果有需要的朋友可以看一下
    2017-08-08
  • Android使用NumberPicker实现滑轮日期选择器

    Android使用NumberPicker实现滑轮日期选择器

    这篇文章主要为大家介绍了如何使用Android中的NumberPicker控件,以一种简单而直观的方式实现滑轮式的日期选择器,需要的小伙伴可以参考一下
    2023-06-06
  • Kotlin协程之Flow的使用与原理解析

    Kotlin协程之Flow的使用与原理解析

    Flow是一种数据流,可以用于协程间的通信,具有冷、懒、响应式等特点,Flow是基于协程构建的,可以提供多个值,本文就来给大家讲讲Kotlin Flow使用与原理,需要的朋友可以参考下
    2023-09-09
  • Android控件之SeekBar的用法总结

    Android控件之SeekBar的用法总结

    SeekBar是进度条。本篇文章介绍了Android控件之SeekBar的使用,SeekBar的应用非常广,比如用来显示音量条、播放进度条,有水平显示也有垂直显示,有兴趣的可以了解一下。
    2017-01-01
  • Android版音乐播放器

    Android版音乐播放器

    这篇文章主要为大家详细介绍了Android版音乐播放器的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • Android之scrollview滑动使标题栏渐变背景色的实例代码

    Android之scrollview滑动使标题栏渐变背景色的实例代码

    这篇文章主要介绍了Android之scrollview滑动使标题栏渐变背景色的实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • Android实现卫星菜单效果

    Android实现卫星菜单效果

    这篇文章主要为大家详细介绍了Android实现卫星菜单效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • Android开发中使用颜色矩阵改变图片颜色,透明度及亮度的方法

    Android开发中使用颜色矩阵改变图片颜色,透明度及亮度的方法

    这篇文章主要介绍了Android开发中使用颜色矩阵改变图片颜色,透明度及亮度的方法,涉及Android针对图片的读取、运算、设置等相关操作技巧,需要的朋友可以参考下
    2017-10-10
  • 利用Android从0到1实现一个流布局控件

    利用Android从0到1实现一个流布局控件

    新项目用到了一种全新布局,Android标签流式布局的功能,正好一直说给大家讲自己定义控件的实现,这篇文章主要给大家介绍了关于利用Android从0到1如何实现一个流布局控件的相关资料,需要的朋友可以参考下
    2021-08-08
  • Flutter自定义年月日倒计时

    Flutter自定义年月日倒计时

    这篇文章主要为大家详细介绍了Flutter自定义年月日倒计时,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03

最新评论