网上找到了,用反射机制可以随时设置dialog是否消失:
使用反射:
在你的setPositiveButton中添加:
/**
* 不隐藏dialog
*
* @param dialog
*/
private void stillShowDialog(DialogInterface dialog) {
try {
Field field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");
field.setAccessible(true);
field.set(dialog, false);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 取消dialog
*
* @param dialog
*/
private void dismissDialog(DialogInterface dialog) {
try {
Field field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");
field.setAccessible(true);
field.set(dialog, true);
} catch (Exception e) {
e.printStackTrace();
}
}

本文介绍了一种利用反射机制来实现对Dialog显示状态控制的方法。通过修改Dialog内部的mShowing字段,可以实现在点击确定按钮后Dialog保持显示或取消显示的效果。
1288

被折叠的 条评论
为什么被折叠?



