我在擴展EditTextPreference類並希望在顯示對話框時在某些情況下禁用其中一個默認按鈕。Android EditTextPreference - 如何禁用默認對話框中的其中一個按鈕
我得到了一個提示窗體這個答案:EditTextPreference Disable Buttons?關於如何訪問默認對話框中的按鈕由於某種原因,getDialog()在EditTextPreference類的所有回調方法中返回null。
更具體我試圖重寫如下: onPrepareDialogBuilder(生成器生成器) onBindDialogView(查看視圖) onAttachedToActivity() onBindView(查看視圖)
是否有可能在所有影響一些按鈕在顯示之前在默認對話框中(或者在顯示之後立即顯示 - 對我也適用)?
更新: 我找到了(有點反直覺)解決方案: 只是覆蓋的ShowDialog()方法DialogPreference類是這樣的:
@Override
protected void showDialog(Bundle state) {
super.showDialog(state);
Dialog dlg = getDialog();
...
}
的getDialog()方法返回一個非空值在這裏,你可以操縱按鈕。
謝謝
瓦西