Наше приложение имеет несколько фрагментов. В одном из них пользователь заполняет несколько полей TextEdit. Когда он закончит, он нажмет кнопку в ActionBar, чтобы сохранить данные. Действие просто вызывает частный метод с именем «saveData», который извлекает все данные из полей и отправляет их на наш сервер.Проблема с Android-фрагментами: getView() возвращает null
У нас есть много трассировок стека от наших пользователей, показывающих, что getView() возвращает null в методе saveData, но только для небольшой части. Для большинства из них нет никаких проблем. Мы не можем воспроизвести проблему, и мы не можем понять, что может ее вызвать. Код очень прост:
View vw = this.getView();
EditText et;
et = (EditText)vw.findViewById(R.id.editEmail);
String email = et.getText().toString().trim();
et = (EditText)vw.findViewById(R.id.editPassword);
String password = et.getText().toString().trim();
Действие добавляется в osResume, смотрите ниже:
public void onResume() {
super.onResume();
MainActivity act = (MainActivity)this.getActivity();
act.bar.removeAllActions();
act.bar.addAction(new SaveAction());
}
Есть идеи? Как мы можем его воспроизвести?
нужно больше кода с контекстом для * угадывания * при ответе. Является ли это частью активности фрагмента? Как насчет больше – Blundell
Бланделл, фрагмент был добавлен к активности фрагмента. Существует ActionBar с кнопкой. Кнопка при нажатии вызывает метод, начинающийся с строк выше. Таким образом, фрагмент отображается, когда возникает проблема. –
Возможно, вы вызываете getView до вызова onCreateView? –