标签:android style blog class code java
在Android系统中,默认点击AlertDialog中的按键都会关闭该AlertDialog,但有些情况下我们并不希望使对话框关闭,或者希望使对话框在自己需要的时候再关闭。
例如我现在做的一个项目,通过AlertDialog读取用户输入的一个值,希望只有在判断值为正确范围内才关闭该对话框,否则对话框予以保留,并给以用户相应的提醒。
可以利用反射的机制来实现这一效果:
不关闭对话框:
1
2
3
4
5
6
7
8
9
10 |
// 使对话框无法关闭 try { Field field = dialog.getClass().getSuperclass().getDeclaredField( "mShowing" ); field.setAccessible( true ); field.set(dialog, false ); } catch (Exception e) { e.printStackTrace(); } |
关闭对话框:
1 // 使对话框关闭 2 try { 3 Field field = 4 dialog.getClass().getSuperclass() 5 .getDeclaredField("mShowing"); 6 field.setAccessible(true); 7 field.set(dialog, true); 8 } 9 catch (Exception e) { 10 e.printStackTrace(); 11 }
Android禁止按键关闭AlertDialog,布布扣,bubuko.com
标签:android style blog class code java
原文地址:http://www.cnblogs.com/qingshuimonk/p/android_alertdialog.html