Android: диалоговое окно EditTextPreference, показывающее значение из предыдущего вызова - PullRequest
0 голосов
/ 28 ноября 2018

В моем приложении у меня есть список учетных записей на экране настроек.Если вы нажмете на учетную запись, вы перейдете на экран, показывающий детали учетной записи.Имя учетной записи является EditTextPreference, если вы щелкнете по нему, Android отобразит диалоговое окно, позволяющее изменить имя учетной записи.

При первом отображении этого диалогового окна значение не указано.Пользователь вводит новое имя для учетной записи и нажимает кнопку ОК, а имя учетной записи обновляется.

Проблема заключается в том, что когда я затем просматриваю другие данные учетной записи и нажимаю на ее имя, чтобы изменить его, в диалоговом окне отображаетсятекст из моего предыдущего переименования.Почему это не показывает никакого значения или текущего имени учетной записи?Почему используется значение из другого аккаунта?

enter image description here

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Проблема была вызвана тем, что имя общего предпочтения является «глобальным».Поэтому, когда вы открываете настройку для одной учетной записи, вы получаете значение, которое было установлено в последний раз.

Исправление, которое мы сделали, в onCreate () на экране настроек мы сбрасываем настройку имени учетной записи на имя учетной записи.экран настройки для.Затем, когда открывается диалоговое окно редактирования имени, оно имеет правильное имя учетной записи.

0 голосов
/ 28 ноября 2018

Проблема возникла из-за того, что вы используете одно диалоговое окно для всех учетных записей.

Вы должны очистить Редактировать текст после нажатия OK, также вы должны использовать SharedPreference для хранения сведений о каждой учетной записи.

...