Android实现点击AlertDialog上按钮时不关闭对话框的方法
作者: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();
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;
}
@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中自定义对话框(Dialog)的实例代码
- Android自定义对话框Dialog的简单实现
- Android实现底部对话框BottomDialog弹出实例代码
- 详解Android 全局弹出对话框SYSTEM_ALERT_WINDOW权限
- 实例详解Android自定义ProgressDialog进度条对话框的实现
- Android 之BottomsheetDialogFragment仿抖音评论底部弹出对话框效果(实例代码)
- Android实现退出界面弹出提示对话框
- Android中AlertDialog各种对话框的用法实例详解
- Android仿QQ消息提示实现弹出式对话框
- Android对话框使用方法详解