Android случайное исключение NullPointerException на EditText - PullRequest
1 голос
/ 22 сентября 2011

Для класса «Настройки» и связанной с ним XML-страницы я получаю исключения NullPointerExeceptions примерно в 50% случаев, когда к ней обращаются.Типичный сеанс пытается загрузить текущие настройки вскоре после запуска.Пользователь может приступить к заполнению заказа, просмотру прошлых заказов или обновлению / просмотру текущих настроек.

Иногда настройки не загружаются, а в других случаях они не сохраняются.Загрузка:

((EditText) parent.findViewById(R.id.txtCompanyName))
                    .append(companyName);

Сохранение:

companyName = ((EditText) parent.findViewById(R.id.txtCompanyName))
            .getText().toString();

Это первые строки соответствующих функций.Я не уверен, почему они подняли бы это исключение (в основном, функцию сохранения).Насколько я могу судить, функция загрузки может быть вызвана до полной загрузки View, однако функция сохранения может произойти только после полной загрузки View (она сохраняется на андроиде: onClick for Button).

1 Ответ

1 голос
/ 22 сентября 2011

Я бы порекомендовал вам использовать SharedPreference для сохранения постоянного состояния настроек пользователя. Это был бы более эффективный способ. И если в SharedPreference ничего нет, он никогда не вернет значение null, если вы не установите для этого значение. Дайте мне знать, если вам нужен пример этого.

...