在项目中我们经常会有这样的需求,弹出dialog让用户登陆,然后验证登陆信息,当密码或者用户名输入错误的时候我们需要提示用户重新输入,此时我们便需要使得dialog在点击按钮后不消失,利用反射原理课实现需求
使用反射:在你的setPositiveButton中添加://用于不关闭对话框try { Field field = dialog.getClass().getSuperclass().getDeclaredField("mShowing"); field.setAccessible(true); field.set(dialog, false); } catch (Exception e) { e.printStackTrace(); } 添加上述代码后就可以使dialog无法关闭,在你需要关闭的地方,添加://关闭对话框try {Field field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");field.setAccessible(true);field.set(dialog, true);} catch (Exception e) {e.printStackTrace();}
|