点击跳转到其他页面正常显示dialog:
try {
Field field = dialog.getClass().getSuperclass().getDeclaredField( "mShowing");
field.setAccessible(true);
field.set(dialog, false);
} catch (NoSuchFieldException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
手动关闭dialog:
try {
Field field = dialog.getClass().getSuperclass().getDeclaredField( "mShowing");
field.setAccessible(true);
field.set(dialog, true);
} catch (NoSuchFieldException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
本文介绍了一种通过反射机制修改Dialog内部属性的方法,实现点击跳转到其他页面时正常显示对话框,以及如何手动关闭对话框。该方法适用于需要自定义Dialog行为的应用场景。
469

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



