我正在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.AppCompat
或Theme.AppCompat.Light
。