我有4个用作片段的java类:`F1,F2,F3,F4。 当我想从一个切换到另一个时,我使用这个代码:
android.app.FragmentManager FM = getFragmentManager();
FragmentTransaction FT = FM.beginTransaction();
F1 FP = new F1();
FT.add(R.id.where, FP,"F1");
FT.commit();
FM.executePendingTransactions();
如果我希望能够从其中一个返回到上一个,我添加addToBackStack(TAG)
如下:
android.app.FragmentManager FM = getFragmentManager();
FragmentTransaction FT = FM.beginTransaction();
F1 FP = new F1();
FT.add(R.id.where, FP,"F1");
FT.addToBackStack("F1");
FT.commit();
FM.executePendingTransactions();
我只有一个活动可以显示当前显示的片段。
我会从中得到,显示当前片段。
我试着写这个,但now
总是空的。
Fragment now=getSupportFragmentManager().findFragmentByTag("F1");
if(now!=null && now.isVisible()) {
//some code for the current fragment
}
答案 0 :(得分:6)
试试这可能会对你有所帮助
Fragment currentFragment = getFragmentManager().findFragmentById(R.id.where);
if (currentFragment instanceof F1) {
//do your stuff here
}