0

main.xml に 1 つのコンテナー ルートがあります。そのコンテナに、「Transaction」と「balance」の 2 つのフラグメントを追加しました。基本的に、トランザクション残高を追加した後、「トランザクション」フラグメントを「統計」フラグメントに置き換える必要があります。

現在、次のような置換を使用しています:

FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.root, BalFrag).commit();

しかし、上記のコードは「残高」フラグメントを削除し、「トランザクション」フラグメントの後に新しいフラグメントを追加しています。

4

2 に答える 2

3

1 つのコンテナーで 2 つのフラグメントを使用するのは悪い考えのように思えますが、次のようなものを使用して 1 つのフラグメントだけを置き換えることができるはずです。

FragmentManager fm = getFragmentManager();
Fragment oldFragment = fm.findFragmentByTag("transaction"); // or keep a reference to it.
Fragment newFragment = getNewFragment() // whatever you do to get a fragment instance

FragmentTransaction ft = fm.beginTransaction();
ft.remove(oldFragment);
ft.add(R.id.root, newFragment, "Stats");
ft.commit();
于 2012-08-31T18:14:14.320 に答える