android – GetFragmentManager.findFragmentByTag()返回null

前端之家收集整理的这篇文章主要介绍了android – GetFragmentManager.findFragmentByTag()返回null前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
getFragmentManager().beginTransaction()
                .replace(R.id.graph_fragment_holder,new GraphFragment(),"GRAPH_FRAGMENT")
                .commit();

        getFragmentManager().beginTransaction()
                .replace(R.id.list_fragment_holder,new ListFragment(),"LIST_FRAGMENT")
                .commit();

        //getFragmentManager().executePendingTransactions();

        GraphFragment graphFragment = (GraphFragment) getFragmentManager().findFragmentByTag("GRAPH_FRAGMENT");
        graphFragment.setData(data);

        ListFragment listFragment = (ListFragment) getFragmentManager().findFragmentByTag("LIST_FRAGMENT");
        listFragment.setData(data);

我提供了一个标签,所以我不知道为什么findFragmentByTag()返回null.

我从阅读其他问题中尝试过的

> this.setRetainInstance(true)在两个片段的oncreate上.
>两个片段构造函数都是空的public fragmentName(){}.
>在添加片段后尝试执行executePendingTransactions.
>尝试添加而不是替换片段(已编辑)

解决方法

我遇到同样的问题,findFragmentByTag()总是返回null.

最终我跟踪它,我在我的活动中超越了SaveInstanceState(),但没有调用超级.一旦我修复了findFragmentByTag()返回的Fragment按预期.

原文链接:https://www.f2er.com/android/313343.html

猜你在找的Android相关文章