android弹出确认对话点击取消,Android 点击AlertDialog上的确定和取消按钮,使对话框不消失...
Android中的AlertDialog弹出框在被点击时,无论点击哪个按钮都会关闭窗口。但是有时候我们不需要它关闭,例如输入用户名和密码,输错了,提示重新输入。那么怎么做到点击确定或者取消按钮不关闭对话框呢?直接上代码new AlertDialog.Builder(this).setTitle(R.string.SBCfgPasswordTitle).setView(passwdEditText.
Android中的AlertDialog弹出框在被点击时, 无论点击哪个按钮都会关闭窗口。
但是有时候我们不需要它关闭,例如输入用户名和密码,输错了,提示重新输入。
那么怎么做到点击确定或者取消按钮不关闭对话框呢?
直接上代码
new AlertDialog.Builder(this)
.setTitle(R.string.SBCfgPasswordTitle)
.setView(passwdEditText)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
canCloseDialog(dialogInterface, false);//不关闭对话框
}
})
.setNeutralButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
//To change body of implemented methods use File | Settings | File Templates.
canCloseDialog(dialogInterface, true);//关闭对话框
}
})
.show();
// 关键部分在这里
private void canCloseDialog(DialogInterface dialogInterface, boolean close) {
try {
Field field = dialogInterface.getClass().getSuperclass().getDeclaredField("mShowing");
field.setAccessible(true);
field.set(dialogInterface, close);
} catch (Exception e) {
e.printStackTrace();
}
}
更多推荐
所有评论(0)