android - Fragment isAdded() 在已添加的 Fragment 上返回 false

标签 android fragment fragmenttransaction

我有这个简洁的功能:

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/

相关文章:

android - 持久 fragment 和 viewpager

Android:在 X 秒后移动到不同的 fragment ?

android - 使用旧 API 级别的选择器在 AppCompatImageView 上应用色调

java - income_amount (code 1) : , 编译时:SELECT SUM(income_amount) FROM INCOME WHERE month = '24'

android - Fragment 中的 TapJoy 优惠列表

Android setOnTouchListener 无法在 fragment 中工作

Android - fragmentTransaction.replace() 不适用于支持库 25.1.0

android - 启动我的 Phonegap 推送通知应用程序时弹出设备未定义错误

Android R.anim,未找到摇动

android - FragmentTransaction with slide in/out animation on >4 performance