Android Kotlin 对回收站 View 中点击事件的新 Intent

标签 android kotlin android-recyclerview android-adapter

我刚刚开始使用 Kotlin 学习 Android 开发。

我有一个列出项目的回收站 View 。

我正在尝试为项目创建 onClick 事件,然后启动一个新的 Intent 并传递项目 ID。

尝试实例化 Intent 时出现错误“无法使用提供的参数调用以下函数”。我认为这是因为我无法访问 View 的上下文?

override fun onBindViewHolder(holder: ViewHolder, position: Int) {
    holder.id = events[position][0]
    holder.title.text = events[position][1]

    if (events[position][2] == events[position][3]) {
        holder.date.text = events[position][2]
    } else {
        holder.date.text = events[position][2] + " - " + events[position][3]
    }

    holder.itemView.setOnClickListener {
        v: View -> Unit


        Log.d(TAG, "onItemClick for ID: " + holder.id)

        val intent = Intent(this, EventDetail::class.java)
        intent.putExtra("id", holder.id)
        startActivity(intent)
    }
}

error

最佳答案

这在 Kotlin 中属于 OnBindviewholder '

holder.itemView.setOnClickListener { v ->
            val intent = Intent(v.context, QuestionsActi::class.java)
            v.context.startActivity(intent)

}

'

关于Android Kotlin 对回收站 View 中点击事件的新 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59012821/

相关文章:

java - LIBGDX 平铺 map 不使用透明度

java - Android 中 MediaPlayer 数组导致空指针

java - 单击 SwipeRefreshLayout 下的 RecyclerView 项目时,机器人测试中止

android - 异步图像下载到 StaggeredGridLayout

android - 如何将警报对话框或弹出窗口中的事件/值传递给 Android MVP 中的 Activity ?

android - view_holder 的 Recycler View 可重用性。如何保持特定位置项目的可见性?

java - 向改造请求添加 header

android - EBS 支付集成 - Android

kotlin - 我们可以创建一个模板函数来合并任意两个 T 对象吗?

android - Kapt Gradle Task Exception:类强制转换异常