16

相対レイアウトがあり、その相対レイアウトにフラグメントを追加しています。このような

     HomeFragment mHomeFragment = new HomeFragment();
    FragmentManager fragmentManager = getFragmentManager();
    FragmentTransaction fragmentTransaction =fragmentManager.beginTransaction();

    if(mHomeFragment!=null&& mHomeFragment.isAdded()){

        fragmentTransaction.show(mHomeFragment);

    }else {

        fragmentTransaction.add(R.id.order_container,mHomeFragment,"Search");


    }
    fragmentTransaction.commit();

また、相対レイアウトで追加したフラグメントの名前を表示する必要があるテキスト ビューもあります。場合によっては検索のように。相対レイアウトに追加されたフラグメントの名前を取得する方法 id = R.id.order_container と仮定します

4

7 に答える 7

4
Fragment fragment = getFragmentManager().findFragmentById(R.id.order_container);
String tag = (String) fragment.getTag();
于 2013-06-04T13:16:27.703 に答える
3

名前が欲しい??ID を使用してフラグメントを取得するには、次のようにします。

fragment.getClass().getName();

それはあなたが望むものですか?または、次を使用できます。

fragment.getTag();

指定されている場合は、フラグメントのタグ名を返します。

于 2013-06-04T13:20:19.453 に答える
3

フラグメントのタグを取得したい場合は、getTag() メソッドを使用できます。これはおそらく、あなたがやりたいことを達成するための最良の方法ではないでしょう.

http://developer.android.com/reference/android/app/Fragment.html#getTag()

複数のフラグメントがあり、それらを変更する場合は、アダプターの使用を検討してください。

于 2013-06-04T13:20:23.930 に答える
2

findFragmentByIdで使用できますFragmentManager

getFragmentManager().findFragmentById(R.id.order_container)
于 2013-06-04T13:22:53.183 に答える
0

遅くなりましたが、誰かの参考になれば幸いです。 タグでフラグメントを見つけるには、次のようにします。

String tag=getSupportFragmentManager().getFragments().get(index).getTag();
SecondFragment f = (SecondFragment) getSupportFragmentManager().findFragmentByTag(tag);
于 2021-10-11T06:51:52.960 に答える