【问题标题】:How to get the fragment from Backstack position如何从 Backstack 位置获取片段
【发布时间】:2016-02-05 08:15:41
【问题描述】:
    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中的位置来获取片段。

【问题讨论】:

  • 你需要 List 或 Position 吗?

标签: android android-fragments


【解决方案1】:

要获取 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会给你更多的细节。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-30
    • 2014-09-26
    • 1970-01-01
    相关资源
    最近更新 更多