繁体   English   中英

如何使用 Kotlin 在 Android 中从非活动视图启动活动

[英]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)
                    }

预计可以正常工作,但返回此错误消息: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference

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

主要原因是您的“上下文”是 null。 尝试使用来自“itemView”的上下文,如下所示

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

如果有效,请投票。

谢谢。

快乐编码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM