如何使用 Kotlin 从 Android 中的非 Activity 视图启动 Activity

How to start an Activity from non Activity view in Android using Kotlin

我需要创建新的意图并从 recyclerView kotlin 的适配器启动它 class。

我已经尝试 addOnClickListener 需要的项目。然后创建意图并启动它。

代码如下:

        mDressImage1 = itemView.findViewById(R.id.dressImage_1)
        mDressImage1!!.setOnClickListener {
                            val detailsActivity = Intent(context, DressDetailsActivity::class.java)
                        context!!.startActivity(detailsActivity)
                    }

本应正常工作,但 return 我收到此错误消息: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference

每次单击视图时它都会崩溃。

主要原因是您的 'context' 为空。 尝试使用 'itemView' 中的上下文,如下所示

mDressImage1 = itemView.findViewById(R.id.dressImage_1)
        mDressImage1!!.setOnClickListener {
                            val detailsActivity = Intent(itemView.getContext(), DressDetailsActivity::class.java)
                        itemView.getContext().startActivity(detailsActivity)
                    }

如果可行,请投票。

谢谢。

编码愉快。