меня MainActivityFragment, откуда я начинаю DetailActivity с ниже код:onCreateView вызывается после возвращения из второй активности
private final CurrencyListAdapter.ClickListener itemClickListener
= new CurrencyListAdapter.ClickListener() {
@Override
public void onItemClick(int position, View v) {
Intent intent = new Intent(getActivity(), DetailActivity.class);
String code = mCurrencyList.get(position).getCode();
intent.putExtra(Constants.SELECTED_CODE_KEY, code);
startActivity(intent);
}
};
После этого из моего DetailActivity я начинаю DetailActivityFragment с ниже код:
if (savedInstanceState == null) {
DetailActivityFragment fragment = DetailActivityFragment.getInstance(code);
getSupportFragmentManager()
.beginTransaction()
.add(R.id.detail_container, fragment)
.commit();
}
Также я сохраняю состояние экземпляра в своем MainActivityFragment. Однако при нажатии кнопки «DetailActivityFragment» вызывается метод onCreateView моего MainActivityFragment, и я не могу восстановить состояние экземпляра, потому что метод saveInstanceState не выполняется, и, следовательно, saveInstanceState имеет значение NULL. Мне очень любопытно, почему это происходит. Это не происходит в другом проекте, который имеет ту же логику. Я буду очень благодарен, если кто-нибудь сможет мне помочь.
есть ли кто-нибудь, кто хочет помочь? –
Мне любопытно, откуда вы знаете, что он звонит в CreateCreate и не использует сохраненное состояние? –
Я знаю, потому что каждый раз, когда я возвращаюсь назад, приложение загружает данные из веб-API вместо использования уже взятых данных, хранящихся в пакете. Также я вижу это поведение во время отладки. –