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

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

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

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

Есть идеи?

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

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

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