7

我正在使用 PreferenceActivity 为用户定义应用程序的某些设置。

我还使用 OnPreferenceChangeListener 接口来获取更改首选项的通知,并且在该回调中,我可以验证用户的输入,并且可以就拒绝用户输入的更新做出决定。

当我检测到验证错误时,我想在屏幕上保持首选项编辑对话框处于活动状态,以便我可以使用 .getTextEdit().setError() 方法设置错误消息以通知用户。但是,我无法设法使对话框在屏幕上保持活动状态,因为它似乎在 OnPreferenceChangeListener 回调执行之前就消失了。

有任何想法吗?

4

1 回答 1

1

好吧,在用户完成编辑之前,您没有使用事件,如 android dev 中所写:

该接口只有一个回调方法,onSharedPreferenceChanged()

我要做的是实现一个自定义首选项,(如http://developer.android.com/guide/topics/ui/settings.html#Custom中所述)但不是扩展 DialogPreference,而是扩展 EditTextPreference。虽然还没有测试过,但听起来它应该可以工作。祝你好运 :)

于 2012-09-28T10:33:27.523 回答