从片段开始 activity(应用程序未启动)

start an activity from a fragment (app is not starting)

我对 Kotlin 还是个新手...我有一个抽屉,它在片段之间变化。

在主页片段中我想要一个按钮,它启动一个 activity。我的片段 class 看起来像这样:

private const val ARG_PARAM1 = "param1"
private const val ARG_PARAM2 = "param2"

class Home : Fragment() {
    private var param1: String? = null
    private var param2: String? = null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        arguments?.let {

            param1 = it.getString(ARG_PARAM1)
            param2 = it.getString(ARG_PARAM2)
        }
    }

    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        imageButton1.setOnClickListener {
            /* Start Activity */
            val i = Intent(activity, strooptest::class.java)
            startActivity(i)
        }
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_home, container, false)
    }

    companion object {
        /**
         * Use this factory method to create a new instance of
         * this fragment using the provided parameters.
         *
         * @param param1 Parameter 1.
         * @param param2 Parameter 2.
         * @return A new instance of fragment Home.
         */
        // TODO: Rename and change types and number of parameters
        @JvmStatic
        fun newInstance(param1: String, param2: String) =
            Home().apply {
                arguments = Bundle().apply {
                    putString(ARG_PARAM1, param1)
                    putString(ARG_PARAM2, param2)
                }
            }
    }
}

我的应用无法启动,我不确定我做错了什么。我也没有任何错误或异常!

如果这是 HomeFragment 的所有代码,那么您似乎缺少 imageButton1?

的声明

我建议阅读如何创建片段以获得更好的理解。令人恼火的是,官方 Android 文档似乎缺少创建片段的功能,但 this article 似乎有一个很好的代码示例,尤其是 onCreateViewonViewCreated.