我正在扩展EditTextPreference类,并希望在显示对话框时在某些情况下禁用其中一个默认按钮。
我得到了一个提示形式:EditTextPreference Disable Buttons?关于如何访问默认对话框中的按钮BUT由于某种原因getDialog()在EditTextPreference类的所有回调方法中返回null。
更具体地说,我尝试重写以下内容: onPrepareDialogBuilder(构建器构建器) onBindDialogView(查看视图) onAttachedToActivity() onBindView(查看视图)
在显示默认对话框之前是否有可能影响默认对话框中的某些按钮(或者在显示它之后立即对我有效)?
更新: 我找到了一个(反直觉的)解决方案: 只需覆盖DialogPreference类的showDialog()方法,如下所示:
@Override
protected void showDialog(Bundle state) {
super.showDialog(state);
Dialog dlg = getDialog();
...
}
getDialog()方法在这里返回一个非空值,你可以操作按钮。
谢谢
Vasil
答案 0 :(得分:1)
回答我自己的问题 - 我找到了一个(有点反直觉的)解决方案:只需覆盖DialogPreference类的showDialog()方法,如下所示:
@Override
protected void showDialog(Bundle state) {
super.showDialog(state);
Dialog dlg = getDialog();
...
}
getDialog()方法在这里返回一个非空值,你可以操作按钮。