我有一个相对布局,我在相对布局中添加片段。 喜欢这个
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
答案 0 :(得分:36)
您可以通过
标记检索片段Fragment fragment = getFragmentManager().findFragmentByTag("yourstringtag");
然后你可以检查你的片段是否是HomeFragment
if (fragment instanceof HomeFragment) {
}
答案 1 :(得分:3)
你想要这个名字?您可以使用ID获取片段并执行:
fragment.getClass().getName();
这是你想要的吗? 或者您可以使用:
fragment.getTag();
如果指定,则返回片段的标记名称。
答案 2 :(得分:3)
如果要获取片段的标记,可以使用getTag()方法。这可能不是实现你想要做的最好的方式。
http://developer.android.com/reference/android/app/Fragment.html#getTag()
如果您有多个片段并且您将更改它们,请考虑使用适配器。
答案 3 :(得分:3)
您可以在findFragmentById
FragmentManager
getFragmentManager().findFragmentById(R.id.order_container)
答案 4 :(得分:2)
Fragment fragment = getFragmentManager().findFragmentById(R.id.order_container);
String tag = (String) fragment.getTag();
答案 5 :(得分:-1)
getSupportFragmentManager().findFragmentById(R.id.container).getClass().getName();