Kotlin:在片段中打开新的Activity

Jus*_*Guy 3 android android-fragments kotlin

使用按钮时,如何在片段内打开新的活动?

我试过了

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)

    LogOut_btn.setOnClickListener {
        //FirebaseAuth.getInstance().signOut()
         val intent = Intent (this, Main::class.java)
        startActivity(intent)



    }



}
Run Code Online (Sandbox Code Playgroud)

val intent =意图似乎在片段中不起作用。

知道如何在片段中启动新活动吗?

感谢收到的每一个答复,也感谢您的帮助!

sof*_*ver 6

因为Fragment不是Context类型,所以您需要调用父对象Activity

 val intent = Intent (getActivity(), Main::class.java)
 getActivity().startActivity(intent)
Run Code Online (Sandbox Code Playgroud)

或类似的东西

activity?.let{
    val intent = Intent (it, Main::class.java)
    it.startActivity(intent)
}
Run Code Online (Sandbox Code Playgroud)

  • 不。你只是宇宙中的另一个人。 (3认同)

小智 6

你可以在 kotlin 中这样做

YourButton.setOnClickListener{
            requireActivity().run{
                startActivity(Intent(this, NeededActivity::class.java))
                finish()
            }
        }
Run Code Online (Sandbox Code Playgroud)