简体   繁体   English

如何从Backstack位置获取片段

[英]How to get the fragment from Backstack position

    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()));
    }

The above code returns null, is there any better solution to get the fragment using its position in backstack. 上面的代码返回null,是否有更好的解决方案来利用片段在后堆栈中的位置来获取片段。

To get the latest fragment in backstack, 为了获得最新的片段,

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

Check this How to resume Fragment from BackStack if exists and this Answer will give you more detail. 选中此“ 如何从BackStack恢复片段”(如果存在) ,此答案将为您提供更多详细信息。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM