我正在使用 PreferenceActivity 供用户定义应用程序的某些设置。
我还使用 OnPreferenceChangeListener 接口(interface)获取更改首选项的通知,在该回调中,我可以验证用户的输入,并且可以决定是否更新拒绝用户的输入。
当我检测到验证错误时,我希望在屏幕上保持首选项编辑对话框处于 Activity 状态,以便我可以使用 .getTextEdit().setError() 方法设置错误消息以通知用户。但是,我无法设法让对话框在屏幕上保持 Activity 状态,因为它似乎就在 OnPreferenceChangeListener 回调执行之前消失了。
有什么想法吗?
最佳答案
好吧,在用户完成编辑之前,您没有要使用的事件,如 android dev 中所写:
The interface has only one callback method, onSharedPreferenceChanged()
我要做的是实现自定义偏好, (如 http://developer.android.com/guide/topics/ui/settings.html#Custom 中所述) 但我不会扩展 DialogPreference,而是扩展 EditTextPreference。 虽然还没有测试过,但听起来应该可以。祝你好运:)
关于android - PreferenceActivity 验证用户输入并显示错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4754802/