我有一個對話框,如果點擊我的對話框旁邊的話就可以取消對話框。但在關閉對話框之前,我想檢查一個字段,如果檢查結果是否定的,那麼對話框不應該關閉。我想,我可以這樣做,如果我重寫onDismiss()方法,但它不起作用。對話框不能用「cancelable = true」關閉
如果對話框應該關閉或保持打開狀態,我必須覆蓋哪個方法來執行檢查並決定? 感謝您的幫助:)
我有一個對話框,如果點擊我的對話框旁邊的話就可以取消對話框。但在關閉對話框之前,我想檢查一個字段,如果檢查結果是否定的,那麼對話框不應該關閉。我想,我可以這樣做,如果我重寫onDismiss()方法,但它不起作用。對話框不能用「cancelable = true」關閉
如果對話框應該關閉或保持打開狀態,我必須覆蓋哪個方法來執行檢查並決定? 感謝您的幫助:)
要保持單擊按鈕時打開對話框,您必須重寫DialogInterface.OnShowListener。
檢查答案Here。
您可以使用AlertDialog.BUTTON_NEGATIVE獲取否定按鈕,然後自己覆蓋onClickListener以防止對話框消失。
不確定這是最好的解決方案,但您應該可以覆蓋cancel
方法,並在驗證時調用超級方法。
@Override
public void cancel() {
if (YOUR_LOGIC) {
super.cancel();
}
// do nothing
}
我的對話框中沒有用於關閉它的按鈕。我正在使用一個DialogFragment,它應該關閉,如果我點擊旁邊的對話框。所以我需要重寫方法,這是調用dismiss(),如果我點擊旁邊的對話框。 – user3621165
哦...對不起,我假設你使用AlertDialog。 ORZ – chartsai