Вопрос: PreferenceActivity, проверяющая ввод пользователя и отображение сообщений об ошибках


Я использую PreferenceActivity для пользователя, чтобы определить определенные параметры для приложения.

Я также использую интерфейс OnPreferenceChangeListener для получения уведомлений об измененных настройках, и в рамках этого обратного вызова я могу выполнить проверку ввода пользователя, и я могу принимать решения об обновлении при отказе от ввода пользователя.

Когда я обнаруживаю ошибку проверки, я хотел бы сохранить диалоговое окно редактирования предпочтений на экране, чтобы я мог использовать метод .getTextEdit (). SetError (), чтобы установить сообщение об ошибке для информирования пользователя. Однако мне не удалось сохранить диалоговое окно на экране, так как оно похоже на исчезновение прямо перед выполнением обратного вызова OnPreferenceChangeListener.

Есть идеи?


6


источник


Ответы:


Ну, нет никакого события, которое вы могли бы использовать до того, как пользователь закончил редактирование, как написано в android dev:

Интерфейс имеет только один метод обратного вызова, onSharedPreferenceChanged ()

Что бы я сделал, это реализовать пользовательские предпочтения, (как объяснено в http://developer.android.com/guide/topics/ui/settings.html#Custom ) Но вместо расширения DialogPreference я бы расширил EditTextPreference. Не проверял его, но звучит так, как будто он должен работать. Удачи :)


1



PreferenceActivity, проверяющая ввод пользователя и отображение сообщений об ошибках | Programmerz.ru