【发布时间】:2013-05-16 11:41:07
【问题描述】:
我正在扩展 EditTextPreference 类,并希望在显示对话框时在某些情况下禁用默认按钮之一。
我从这个答案中得到了一个提示:EditTextPreference Disable Buttons? 关于如何访问默认对话框中的按钮但由于某种原因 getDialog() 在 EditTextPreference 类的所有回调方法中返回 null。
更具体地说,我尝试覆盖以下内容: onPrepareDialogBuilder(生成器生成器) onBindDialogView(查看视图) onAttachedToActivity() onBindView(查看视图)
是否有可能在显示之前(或在显示之后立即影响默认对话框中的某些按钮 - 也适用于我)?
更新: 我找到了一个(有点违反直觉的)解决方案: 只需像这样覆盖 DialogPreference 类的 showDialog() 方法:
@Override
protected void showDialog(Bundle state) {
super.showDialog(state);
Dialog dlg = getDialog();
...
}
getDialog() 方法在这里返回一个非空值,您可以操作按钮。
谢谢
瓦西尔
【问题讨论】:
标签: android preferences