Android之提示错误Can not perform this action after onSaveInstanceState

1 问题

主页面3个Fragment,在第三个Fragment里面开启了Activity之后,然后想跳到第一个Fragment代码如下


    /**
     * 展示Fragment
     */
    private fun showFragment(fragment: Fragment) {
        if (currentFragment !== fragment) {
            val transaction: FragmentTransaction = supportFragmentManager.beginTransaction()
            transaction.hide(currentFragment)
            currentFragment = fragment
            if (!fragment.isAdded) {
                transaction.add(R.id.mainFrameLayout, fragment).show(fragment).commit()
            } else {
                transaction.show(fragment).commit()
            }
        }
    }

然后奔溃错误提示如下

    java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
        at androidx.fragment.app.FragmentManagerImpl.checkStateLoss(FragmentManagerImpl.java:1536)
        at androidx.fragment.app.FragmentManagerImpl.enqueueAction(FragmentManagerImpl.java:1558)
        at androidx.fragment.app.

猜你喜欢

转载自blog.csdn.net/u011068702/article/details/107292976
今日推荐