有时候我没可能须要在点击button进行一些检測。可是并不想关闭次对话框(系统默认点击不论什么一个button则关闭对话框),处理方法例如以下:在点击事件下加入例如以下代码:
- try
- {
- Field field = dialog.getClass()
- .getSuperclass().getDeclaredField(
- "mShowing");
- field.setAccessible(true);
- // 将mShowing变量设为false。表示对话框已关闭
- field.set(dialog, false);
- dialog.dismiss();
- }
- catch (Exception e)
- {
- }
将上面的代码加到哪个button的单击事件代码中,哪个button就再也无法关闭对话框了。
假设要关闭对话框,仅仅需再将mShowing设为true就可以。要注意的是,在一个button里设置了mShowing变量,也会影响还有一个button的关闭对话框功能,因此,须要在每个button的单击事件里都设置mShowing变量的值。