我是一个全新的android studio(Kotlin),我试图使用一个按钮从一个片段打开一个新的activity。如果这很简单,我很抱歉,我似乎无法弄清楚。
这是我到目前为止,它不做任何事情,当我运行模拟器,并点击按钮
class HomeFragment : Fragment(R.layout.fragment_home) {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val btntakepicture: Button? = view?.findViewById<Button>(R.id.btn_take_picture)
btntakepicture?.setOnClickListener {
requireActivity().run {
startActivity(Intent(this, takepicture::class.java))
finish()
}
}
}
}
3条答案
按热度按时间hmmo2u0o1#
几乎没有理由在片段中覆盖
onCreate
。它是在视图创建之前调用的,因此在创建视图时没有按钮来设置监听器。您应该覆盖onViewCreated
。xfb7svmp2#
要解决这个问题,您可以将代码移动到onViewCreated方法,该方法在视图创建后调用:
hyrbngr73#
重写
onViewCreated
方法如下: