Android找到当前片段

Sct*_*ALE 1 android android-fragments

我有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();
Run Code Online (Sandbox Code Playgroud)

如果我想从其中一个返回到前一个,我添加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();
Run Code Online (Sandbox Code Playgroud)

我只有一个活动可以显示当前显示的片段.我会从中得到,显示当前片段.我试着写这个,但now总是空的.

Fragment now=getSupportFragmentManager().findFragmentByTag("F1");
if(now!=null && now.isVisible()) {
//some code for the current fragment
}
Run Code Online (Sandbox Code Playgroud)

Abh*_*tel 6

试试这可能对你有所帮助

 Fragment currentFragment = getFragmentManager().findFragmentById(R.id.where);
 if (currentFragment instanceof F1) {
       //do your stuff here
 }
Run Code Online (Sandbox Code Playgroud)