我正在Kotlin中进行Master / Detail流 Activity 。我有一个片段不匹配的问题,因为在一个 Activity 中我需要android.support.v4.app.Fragment和在另一个android.app.Fragment中。我实现了自己的详细信息片段,并继承自android.support.v4.app.Fragment来修复ListActivity中supportFragmnet事务中的不匹配问题

if (mTwoPane) {
    val fragment = GraphDetailFragment().apply {
    arguments = Bundle().apply {
        putString(GraphDetailFragment.ARG_ITEM_ID, item.id)
    }
}
supportFragmentManager
        .beginTransaction()
        .replace(R.id.graph_detail_container, fragment)
        .commit()
}

但是然后我从DetailActivity的fragmentManager中不匹配
val fragment = GraphDetailFragment().apply {
            arguments = Bundle().apply {
                putString(GraphDetailFragment.ARG_ITEM_ID,
                        intent.getStringExtra(GraphDetailFragment.ARG_ITEM_ID))
            }
        }

fragmentManager.beginTransaction()
        .add(R.id.graph_detail_container, fragment)
        .commit()

和控制台抛出:



有没有简单的方法可以解决此问题?

最佳答案

使DetailActivity扩展AppCompatActivity,然后在其中使用supportFragmentManager

您还需要在styles.xml中修复您的AppTheme。确保parent属性指向Theme.AppCompatTheme.AppCompat.Light

07-27 16:49