我有一个简单的 Activity 。在这个 Activity 中我想开始一个 fragment 。但 fragment 没有启动。
这是我的 Activity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//start Homefragment
startHomeFragment()
}
/**
* Create Homefragment
*/
private fun startHomeFragment() {
val homeFragment = fragmentManager.findFragmentByTag(statics.TAG) ?: HomeFragment()
fragmentManager.beginTransaction()
.replace(R.id.container, homeFragment, statics.TAG)
.commit()
}
这是我的 fragment
class HomeFragment : Fragment() {
object statics {
@JvmField val TAG = "Homefragment"
}
override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? {
return super.onCreateView(inflater, container, savedInstanceState)
inflater?.inflate(R.layout.fragment_home, container)
background_home.setBackgroundResource(R.drawable.gc_bg_home)
最佳答案
之后的所有代码
return super.onCreateView(inflater, container, savedInstanceState)
无法访问。只需阅读 IDE 警告即可。
此外,只有当您从 onCreateView
返回布局时,布局才会被附加,即。 e. 返回inflater.inflate(...)
。
关于android - Kotlin fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44808795/