2013-05-16 28 views
1

我在擴展EditTextPreference類並希望在顯示對話框時在某些情況下禁用其中一個默認按鈕。Android EditTextPreference - 如何禁用默認對話框中的其中一個按鈕

我得到了一個提示窗體這個答案:EditTextPreference Disable Buttons?關於如何訪問默認對話框中的按鈕由於某種原因,getDialog()在EditTextPreference類的所有回調方法中返回null。

更具體我試圖重寫如下: onPrepareDialogBu​​ilder(生成器生成器) onBindDialogView(查看視圖) onAttachedToActivity() onBindView(查看視圖)

是否有可能在所有影響一些按鈕在顯示之前在默認對話框中(或者在顯示之後立即顯示 - 對我也適用)?

更新: 我找到了(有點反直覺)解決方案: 只是覆蓋的ShowDialog()方法DialogPreference類是這樣的:

@Override 
    protected void showDialog(Bundle state) { 
    super.showDialog(state); 
    Dialog dlg = getDialog(); 
    ... 
    } 

的getDialog()方法返回一個非空值在這裏,你可以操縱按鈕。

謝謝

瓦西

回答

1

要回答我的問題 - 我找到了(有點反直覺)解決方案:只覆蓋DialogPreference類的ShowDialog()方法是這樣的:

@Override 
    protected void showDialog(Bundle state) { 
    super.showDialog(state); 
    Dialog dlg = getDialog(); 
    ... 
    } 

getDialog()方法在這裏返回一個非null值,您可以操作按鈕。

相關問題