我有一个带有EditTextPreference的PreferenceActivity。使用OnPreferenceChangedListener
,我可以很容易地检测到正按键。但是,当用户按下否定按钮时,侦听器永远不会被调用。
有没有办法检测到它?谢谢
除非覆盖EditTextPreference
中的onDialogClosed(...)
,否则无法检测到它(假设您使用的是旧的、现在已弃用的首选项框架版本(:
public class EditTextPreferenceNegative extends EditTextPreference {
@Override
protected void onDialogClosed(boolean positiveResult) {
super.onDialogClosed(positiveResult); // this will notify the change listener for positive results
if (!positiveResult) {
// do something with your negative result
}
}
}
但是,请注意,即使在未按下否定按钮的情况下关闭对话框,也会调用此命令。如果只想检测否定按钮,可以覆盖单击任一按钮时调用的onClick(...)
方法。