Android 在Kotlin中,如何在打开活动的片段中创建按钮?
在Kotlin中,如何在片段中创建一个按钮来打开活动及其相应的kt文件Android 在Kotlin中,如何在打开活动的片段中创建按钮?,android,kotlin,Android,Kotlin,在Kotlin中,如何在片段中创建一个按钮来打开活动及其相应的kt文件 我在这里尝试了类似问题的所有方法。有两种简单的方法: 1) 在片段本身内部: button.setOnClickListener { requireActivity().startActivity( Intent(requireActivity(), SecondActivity::class.java) ) } 其中,通过requireActivity()您
我在这里尝试了类似问题的所有方法。有两种简单的方法: 1) 在片段本身内部:
button.setOnClickListener {
requireActivity().startActivity(
Intent(requireActivity(), SecondActivity::class.java)
)
}
其中,通过requireActivity()
您基本上是告诉您的片段使用父活动作为活动/上下文,并从那里开始一个意图
2) 使用对活动的回调。
定义下一个接口:
interface FragmentCallback {
fun startNextActivity()
}
将片段中的接口实例化为可空对象:
private var fragmentCallback: FragmentCallback? = null
确保在OnAtatch()重写方法中告诉片段有关接口的信息:
override fun onAttach(context: Context) {
super.onAttach(context)
try {
if (context is FragmentCallback)
fragmentCallback = context
} catch (e: Exception) {}
}
实现您的按钮功能:
button.setOnClickListener {
fragmentCallback.startNextActivity()
}
然后在主要活动中实现接口:
class MainActivity : AppCompatActivity(), FragmentCallback
您的活动将需要接口的覆盖方法。实施该方法:
override fun startNextActivity() {
startActivity(Intent(this, SecondActivity::class.java)
}
正如您所看到的,旧的接口实现方式需要大量无用的代码行。使用
requirectivity()
方法是最简单、最快的 如果您需要一些帮助来显示您的代码,请发布您尝试过的代码以及任何相关的错误消息或日志。请通过您的问题来显示您的尝试,并准确地解释它们是如何不起作用的。发布您的代码。您到底尝试了什么?