3

この質問には2つの部分があります。

アクティビティがあり、次に2つのフラグメント(ListFragmentとFragment(ListFragmentからアイテムをクリックすると表示されます))があるとします。

パート1

フラグメントをどこで閉じる必要がありますか?これは、デザインの観点から良いと見なされるものを意味します。2つのオプションがあります。1つはフラグメント内のインターフェイスを宣言し、それを実装するアクティビティを持っていることです。それをcloseFragment()と呼びましょう。これは、フラグメントから開発サイトに示されているようなアクティビティに通信する方法になります。もう1つはおそらく非常に単純で、getActivity()。getSupportFragmentManager()を呼び出し、マネージャーを使用して閉じます。

パート2

Devサイトにあるので、フラグメントを作成して置き換える方法は知っていますが、フラグメントを閉じることに疑問があります。実際にどのように閉じる必要がありますか?次のコードのようなものは正しいですか?フラグメントがBackStackに追加されたとします。

FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
getSupportFragmentManager().popBackStack();
transaction.remove(this);
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE);
transaction.commit();

どうもありがとうございます。

4

2 に答える 2

5
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.remove(this);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE);
ft.commit();
于 2016-05-11T07:54:31.173 に答える
2
  1. 私は、それがどこで使用されているかについて何も知らないダムフラグメントを持っていることを好みます。そうすれば、あなたが望むどんな活動でもそれを使うことができ、あなたがそれに対して設定した正確な目標を持っているでしょう。もちろん、あなたはあなたが望むことは何でもすることができます。

  2. これは閉じているように見えますが、代わりに交換したいと思います。フラグメントへの参照がある限り、いつでもフラグメントに戻ることができます。

于 2013-02-17T09:00:23.300 に答える