我有一个可加载6个不同片段的帧布局。有什么方法可以从活动中的帧布局中找到当前片段的名称。
Fragment1
getFragmentManager().beginTransaction().replace(
R.id.main,Fragment.instantiate(LoadingScreen.this,
"com.myapp.fragments.fragment1",bundle)).commit();
Fragment2
getFragmentManager().beginTransaction().replace(
R.id.main,Fragment.instantiate(LoadingScreen.this,
"com.myapp.fragments.fragment2",bundle)).commit();
我需要从活动中知道哪个片段存在于帧布局中。由于两个不同的片段以相同的布局加载。
答案 0 :(得分:2)
如果您想知道布局中加载了哪个片段,可以执行以下操作:
Fragment f = getSupportFragmentManager().findFragmentById(R.id.main);
if(f instanceof Fragment1){
//do something
}
else if(f instanceof Fragment2){
//do something
}
如果您想知道班级名称,请使用:
String name = f.getClass().getCanonicalName()
答案 1 :(得分:1)
您可以使用findFragmentById()
,它将返回容器中的当前片段。