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
中的fragments
。 fragment
构造函数都是空的public fragmentName(){}
。 executePendingTransactions
之后尝试了fragments
。 add
代替replace
上的fragments
(已编辑)最佳答案
我遇到了findFragmentByTag()
总是返回null的相同问题。
最终我找到了它,我在Activity中覆盖了onSaveInstanceState()
,但没有调用super。一旦我修复了findFragmentByTag()
,便按预期返回了Fragment。
关于android - GetFragmentManager.findFragmentByTag()返回null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23581894/