2016-02-05 77 views
0
for(int entry = 0; entry < mFragmentManager.getBackStackEntryCount(); entry++){ 
     Fragment fragment= mFragmentManager.findFragmentById(mFragmentManager.getBackStackEntryAt(entry).getId()); 
     Log.i(TAG, "Found fragment: " + String.valueOf(fragment.getClass().getSimpleName())); 
    } 

上面的代码返回null,是否有更好的解决方案来获取片段在backstack中的位置。如何从Backstack位置获取片段

+0

您需要列表或位置? –

回答

0

要获取最新的片段在堆栈中,

FragmentManager.BackStackEntry backEntry=getFragmentManager().getBackStackEntryAt(getActivity().getFragmentManager().getBackStackEntryCount()-1); 
    String str=backEntry.getName(); 
    Fragment fragment=getFragmentManager().findFragmentByTag(str); 

入住这How to resume Fragment from BackStack if existsAnswer会给你更多的细节。

+0

已解决您的问题@Sai Kiran –