我有这个整洁的功能:

private void addMapFragment(){
    if(!mapFragment.isAdded()){
        FragmentTransaction ft = getFragmentManager().beginTransaction();
        ft.add(R.id.mapContainer, mapFragment);
        ft.commit();
    }
}

我在 Activity 的addMapFragment()中调用onCreate()。然后,我有一个来自WebRequest的回调,它调用addMapMapFragment()isAdded()方法看起来根本没有用,因为我崩溃时说“片段已添加:MapFragment[...]

有什么线索吗?

最佳答案

FragmentTransactions异步提交 。因此,您需要致电

getFragmentManager().executePendingTransactions();

调用之前先使用
Fragment.isAdded();

这样,您可以确保一切都是最新的

关于android - fragment iwego()在已添加的 fragment 上返回false,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22485899/

10-12 01:50