15

我正在使用支持包 v4。

mFragmentManager = getSupportFragmentManager();

FragmentTransaction ft = mFragmentManager.beginTransaction();
ft.add(R.id.fragContainer1, new ModelListFragment(), FRAG_MODEL_LIST);
ft.add(R.id.fragContainer2, new TrimListFragment(), FRAG_TRIM_LIST);
ft.commit();

Fragment fragment = mFragmentManager.findFragmentByTag(
            MainActivity.FRAG_MODEL_LIST);
Log.d("MY", "found fragment: " + (fragment != null));

总是返回“找到的片段:假”。我在这里遗漏了一些非常明显的东西,它是什么?

4

2 回答 2

16

正如您在文档中看到的:

提交不会立即发生;它将被安排在主线程上的工作,以便在该线程下一次准备好时完成。

这就是为什么在 commit() 之后看不到片段的原因。

于 2012-08-09T13:06:36.673 回答
2

我同意Roosmaa的观点, executePendingTransactions经过commit()完全正常的工作。

于 2014-03-07T10:25:33.610 回答