PreferenceActivity验证用户输入并显示错误消息

时间:2011-01-21 02:19:40

标签: android verification android-preferences

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

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

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

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

好吧,在用户完成编辑之前没有事件可以使用,如android dev所示:

  

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

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