如何让AlertDialog 在点击确定或者取消时不消失

[url]http://hi.baidu.com/doyee/item/5e27c1155df589dcbf904246[/url]
        new AlertDialog.Builder(activity)
.setView(view)
.setCancelable(false)
.setTitle("登陆系统")
.setPositiveButton("登录", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int i) {
EditText userName = (EditText) view.findViewById(R.id.editText);
EditText userpwd = (EditText) view.findViewById(R.id.editText1);
try {
if (userName == null || userName.getText().toString().trim().length() == 0) {
//不关闭对话框
Field field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");
field.setAccessible(true);
field.set(dialog, false); //设定为false,则不可以关闭对话框
dialog.dismiss();
ToastUtils.show(activity, "没有输入用户名......");
} else if (userpwd == null || userpwd.getText().toString().trim().length() == 0) {
//不关闭对话框
Field field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");
field.setAccessible(true);
field.set(dialog, false); //设定为false,则不可以关闭对话框
dialog.dismiss();
ToastUtils.show(activity, "没有输入密码......");
} else {
// 要正常关闭对话框
ToastUtils.show(activity, "登陆成功......");
Field field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");
field.setAccessible(true);
field.set(dialog, true);//设定为true,则可以关闭对话框
dialog.dismiss();

}
} catch (Exception e) {

}


}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
activity.finish();
}
}
)
.create()
.show();


可以关闭:
[color=darkblue]field.setAccessible(true);
field.set(dialog, true);//设定为true,则可以关闭对话框/color]

禁止关闭:
[color=darkblue]field.setAccessible(true);
field.set(dialog, false); //设定为false,则不可以关闭对话框[/color]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值