【问题标题】:How to start an Activity from non Activity view in Android using Kotlin如何使用 Kotlin 从 Android 中的非 Activity 视图启动 Activity
【发布时间】:2019-11-05 12:51:47
【问题描述】:

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

我已尝试在需要的项目上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

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

【问题讨论】:

  • 使用界面或Lamda。

标签: android kotlin android-intent android-activity start-activity


【解决方案1】:

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

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

如果可行,请投票。

谢谢。

快乐编码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-16
    • 1970-01-01
    • 2018-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多