android 如何讓彈出的對話方塊不消失,android對話方塊
Builder builder = new AlertDialog.Builder(this);
builder.setTitle(android.R.string.dialog_alert_title)
.setIcon(android.R.drawable.ic_dialog_info)
.setPositiveButton(android.R.string.ok,
new OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
// 不消失
try {
java.lang.reflect.Field field = dialog
.getClass().getSuperclass()
.getDeclaredField("mShowing");
field.setAccessible(true);
field.set(dialog, false);
} catch (Exception e) {
e.printStackTrace();
}
}
})
.setNegativeButton(android.R.string.no,
new OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
// 消失
try {
java.lang.reflect.Field field = dialog
.getClass()
.getSuperclass()
.getDeclaredField("mShowing");
field.setAccessible(true);
field.set(dialog, true);
} catch (Exception e) {
e.printStackTrace();
}
dialog.dismiss();
}
}).show();
以上方法,經過測試之後發現,如果在點擊“確定”之前點擊對話方塊以外的地方,對話方塊會消失;但如果點擊“確定”再點擊對話方塊以外的地方,則不會消失。