私はInstagramのようにアプリケーションを作成するためにアンドロイドのBottomNavigationViewを使用しています。私はナビゲーションタブでフラグメントを使用しています。アプリケーションには5つのタブが初期設定されています。中間タブをアクティブなタブとして設定し、アプリの起動後に読み込みます。他のタブをクリックすると、ネットワークコールが行われ、データがロードされます。今、私は戻るボタンを押すか、最後のタブ(スタートアップ時にロードされた)をもう一度クリックすると、フラグメントが再作成され、同じデータをロードするためのネットワーク呼び出しが行われます。以前のフラグメントを再作成せずに同じデータで表示したい。下部のナビゲーションタブがクリックされるたびに、フラグメントが再作成されないようにします。
私は
transaction.add(container,fragment);
が、無駄に使ってみました。タブの
私のコードは、私が取り外して交換使用するのと同じです追加使用して知っている
if (item.getItemId() == R.id.nav_OverView && _current != R.id.nav_OverView) {
Overview _overView = new Overview();
_fragmentTransaction.hide(_currentFragment);
_fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE);
_fragmentTransaction.add(R.id.content_base_drawer, _overView);
_fragmentTransaction.commit();
_current = R.id.nav_OverView;
viewIsAtHome = true;
}
クリックしてください。
何か助けていただければ幸いです。
この[リンク](http://stackoverflow.com/questions/14354885/android-fragments-backstack)を参照してください。または、これがうまく動作しない場合は、シングルトンクラスを使用して最初のロード時にデータを保存し、その後に使用します。 – ADM
'setOnNavigationItemSelectedListener'コードを投稿すると、おそらくあなたのフラグメントが作成されています – marmor
@marmor updated ...今すぐチェック – Joe