/**
* Android中的彈出框在被點擊時, 無論點擊哪個按鈕都會關閉視窗。
* 但是有的情況下我們不需要立即關閉視窗。下面的情況是彈出框中要求使用者輸入檔案名,
* 並在點擊確定時檢查檔案名的合法性, 不合法則提示使用者重新輸入, 彈出框要保持在介面上
* 使用反射
*/
DialogInterface.OnClickListener dialogListener = new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case DialogInterface.BUTTON_POSITIVE:
try {
//不關閉
Field field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");
field.setAccessible(true);
field.set(dialog, false);
} catch (Exception e) {
e.printStackTrace();
}
if(inputCheck()){
//關閉對話方塊
try {
Field field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");
field.setAccessible(true);
field.set(dialog, true);
} catch (Exception e) {
e.printStackTrace();
}
dialog.dismiss();
}
break;
case DialogInterface.BUTTON_NEGATIVE:
dialog.dismiss();
break;

default:
break;
}
}
};

 

創作者介紹
創作者 shadow 的頭像
shadow

資訊園

shadow 發表在 痞客邦 留言(0) 人氣()