NullPointerException для TextInputEditText

Всякий раз, когда я делаю onBackPressed() и получаю доступ к editText

private void saveValue() {
sp.edit().putString(KEY, editText.getText().toString().trim()).apply();
}

Я пытаюсь получить доступ к этому из onBackPressed() во фрагменте, как показано ниже.

@Override
public boolean onBackPressed() {
   saveValue();
  return super.onBackPressed();
}

Я получаю исключение ниже на некоторых устройствах на базе ОС Android 8.0.

Fatal Exception: java.lang.NullPointerException
Attempt to invoke virtual method 'android.text.Editable 
androidx.appcompat.widget.AppCompatEditText.getText()' on a null object 
reference

куда ты это присваиваешь editText?

Arka Prava Basu 20.03.2019 16:31

В вашем saveValue() проверьте, является ли ваш editText нулевым или инициализируйте его как пустую строку

Ehcnalb 20.03.2019 16:41

editText инициализируется с помощью Butterknife и содержит ссылку на представление, когда пользователь выполняет любое другое действие, кроме onBackPressed(). Только в этом случае значение EditText равно null, и мне интересно, как это возможно?

John 20.03.2019 16:52

измените этот код с onbackpressed на onpause

Manoj Perumarath 20.03.2019 17:14

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

PedroHawk 20.03.2019 17:32

и проверьте, не сделали ли вы уже ButterKnife.unbind или что-то подобное перед этим кодом

PedroHawk 20.03.2019 17:35
0
6
74
0

Другие вопросы по теме