を返した後、私はコードの下でDetailActivityを開始するところからMainActivityFragmentを持っていると呼ばれている。その後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から戻るボタンを押すと、MainActivityFragmentのonCreateViewメソッドが呼び出され、saveInstanceStateメソッドが実行されず、savedInstanceStateがnullであるため、インスタンスの状態を復元できません。 なぜこれが起こっているのか非常に不思議です。これは、同じロジックを持つ他のプロジェクトでは起こりません。もし誰かが私を助けることができれば、私はとても感謝しています。
助けたい人がいますか? –
私は不思議です、あなたはそれがonCreateを呼び出し、savedinstanceを使用していないことをどのように知っていますか? –
私が戻ってくるたびに、アプリはバンドルに保存されているデータを取り込んだのではなく、Web APIからデータを読み込むためです。また、私はデバッグ中にこの動作を見ることができます。 –