我有这个简洁的功能:
private void addMapFragment(){
if(!mapFragment.isAdded()){
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.add(R.id.mapContainer, mapFragment);
ft.commit();
}
}
我在 Activity 的 onCreate()
中调用 addMapFragment()
。然后我有一个来自调用 addMapMapFragment()
的 webrequest 的回调。 isAdded()
方法看起来一点用都没有,因为我遇到了一个崩溃提示“Fragment already added: MapFragment[...]
”
有什么线索吗?
最佳答案
FragmentTransactions
异步提交。因此,您需要调用
getFragmentManager().executePendingTransactions();
在你打电话之前
Fragment.isAdded();
这样,您可以确保一切都是最新的。
关于android - Fragment isAdded() 在已添加的 Fragment 上返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22485899/