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

Florida ·
更新时间:2024-11-14
· 904 次阅读

本文实例讲述了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实现微信右侧顶部下拉对话框Android仿微信和QQ多图合并框架(类似群头像)的实现方法android仿支付宝、微信密码输入框效果Android 类似微信登录输入框效果Android 使用<layer-list>实现微信聊天输入框功能Android 仿微信朋友圈点赞和评论弹出框功能Android仿QQ、微信聊天界面长按提示框效果Android中自定义对话框(Dialog)的实例代码Android中AlertDialog各种对话框的用法实例详解Android开发实现模仿微信小窗口功能【Dialog对话框风格窗口】



方法 关闭 alertdialog 按钮 Android

需要 登录 后方可回复, 如果你还没有账号请 注册新账号