解決預設dialog消失問題

edagarli發表於2014-04-11
/**
* 通過反射來設定對話方塊是否要關閉,在表單校驗時很管用, 因為在使用者填寫出錯時點確定時預設Dialog會消失, 所以達不到校驗的效果
* 而mShowing欄位就是用來控制是否要消失的,而它在Dialog中是私有變數, 所有隻有通過反射去解決此問題

* @param pDialog
* @param pIsClose
*/
public void setAlertDialogIsClose(DialogInterface pDialog, Boolean pIsClose) {
try {
Field field = pDialog.getClass().getSuperclass()
.getDeclaredField("mShowing");
field.setAccessible(true);
field.set(pDialog, pIsClose);
} catch (Exception e) {
e.printStackTrace();
}
}

相關文章