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中的位置来获取片段。
答案 0 :(得分:0)
要在Backstack中获取最新的片段,
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 exists 这个Answer将为您提供更多详细信息。