我有 4 个用作 fragment 的 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();
我只有一个 Activity 可以更改显示的当前 fragment 。
我会从中得到,显示当前 fragment 。
我试着写这个,但是 now
总是空的。
Fragment now=getSupportFragmentManager().findFragmentByTag("F1");
if(now!=null && now.isVisible()) {
//some code for the current fragment
}
最佳答案
试试这个,也许对你有帮助
Fragment currentFragment = getFragmentManager().findFragmentById(R.id.where);
if (currentFragment instanceof F1) {
//do your stuff here
}
关于Android 查找当前 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37855879/