4

これが私の問題です。

私は基本的に、場所に関するいくつかの情報を含むフラグメントと、同じ都市内の他のすべての場所のリストを扱っています。リストの要素の 1 つをクリックすると、クリックした要素に関連する情報を含む同じフラグメントの別のインスタンスにアクセスできます。

問題は、同じ場所の情報を含むフラグメントが 2 つバックスタックに含まれていると、バックスタックが機能しなくなることです。

これは、新しいフラグメントを作成する方法です。

Bundle bundle = new Bundle();
                    bundle.putString("some data", "some data");
                    Fragment contentFragment = new CoreFragment(id);
                    contentFragment.setArguments(bundle);
                    FragmentManager fm = getActivity().getSupportFragmentManager();
                    FragmentTransaction fragmentTransaction = fm.beginTransaction();
                    fragmentTransaction.replace(R.id.actmain_core, contentFragment, "corefragment");
                    fragmentTransaction.addToBackStack(contentFragment.getClass().getName());
                    fragmentTransaction.commit();

すべてのフラグメントが異なるデータを使用する場合、完全に機能します。ただし、バックスタックに存在するフラグメントで既に使用されているデータを使用してフラグメントをバックスタックに追加すると、[戻る] ボタンを押してアクセスしても表示されません。

この問題を解決するにはどうすればよいですか? フラグメントとその正確なコピーがバックスタックに存在するが、区別する必要がある場合、どうすれば管理できますか?

4

0 に答える 0