【发布时间】:2021-02-09 14:52:18
【问题描述】:
将一个片段替换为另一个片段的常见做法是:
getActivity().getSupportFragmentManager()
.beginTransaction()
.setReorderingAllowed(true)
.replace(R.id.fragment_holder, ItemFragment.newInstance(bundle),"tag")
.addToBackStack(null)
.commit();
commit() 方法的文档说:
安排此事务的提交。 提交不会立即发生;它将被安排在主线程上的工作,以便在该线程下一次准备好时完成。
现在想象一下我在上面提到的提交方法之后立即调用getActivity.getSupportFragmentManager.findFragmentByTag("tag");。由于提交不会立即发生,是否有可能返回 null?
【问题讨论】:
-
更新:我测试了越来越多,终于可以体验到
nullPointerException。所以我的问题的简单答案是:是的,有可能!
标签: android android-fragments fragmenttransaction