Итак, у меня есть фрагмент - фрагмент A - который содержит объект - объект O - используемый для настройки TextView и других элементов. Для создания экземпляра фрагмента я использую статический метод A.getInstance (O). Объект O сериализуем, поэтому я могу отправить его новому экземпляру фрагмента A через Bundle, используя instance.setArguments и так далее.
Я получаю O в методе onCreate для A и настраиваю поля с помощью O в onViewCreated. Пока все работает нормально. После того как я заменяю A другим фрагментом - фрагментом B - и возвращаюсь от B к A, набор аргументов больше не содержит объект O, и я получаю исключение NullPointerException. Сам пакет не является нулевым, но он не содержит O.
Я использую этот метод для замены фрагментов:
public void replaceCurrentFragment(Fragment fragment) {
FragmentTransaction fragmentTransaction = context.getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.frame, fragment).addToBackStack(null).commit();
}
Фрагмент A также отображается с помощью описанного выше метода.
Что я делаю неправильно?
Fragment#getArgumnets()
? Вы пытались сохранить и восстановить объект O из состояния экземпляра фрагмента? - person Oleh Toder   schedule 11.09.2015