Intent putExtra在RecyclerView(Kotlin)的ViewHolder中

安东尼奥·桑朱荷(Antonio Sanjurjo)

我正在创建一个具有以下onBindViewHolder inerrclass的RecyclerViewAdapter:

class PreviewMuseoRecyclerViewAdapter(private val context: Context) : RecyclerView.Adapter<PreviewMuseoRecyclerViewAdapter.ViewHolder>() {

  override fun onBindViewHolder(holder: ViewHolder, position: Int) {
    val item = museus[position]
    holder.nom.text = item.nom
    holder.direccio.text = item.direccio}

inner class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {
    val nom: TextView = view.findViewById(R.id.museu_nom)
    val direccio: TextView = view.findViewById(R.id.museu_direccio)
        view.setOnClickListener{
            Log.i("hola","Funciona2")
            context?.startActivity(Intent(context, Mood::class.java))
        }
    }
}

我能够使用提供的上下文(在ViewHolder内开始新的活动,但是由于那是我可以使onClickListener起作用的唯一位置(在onBind却没有),所以我没有需要提供的值把putExtra我需要在onBindViewholder内部传递一个项目的属性(如果startActivity()在那工作不会有问题)。

米纳斯米娜

要在单击视图持有器时获取项目,请使用以下getAdapterPosition()方法:

view.setOnClickListener {
    val adapterPosition = adapterPosition
    if (adapterPosition == RecyclerView.NO_POSITION) {
        return@setOnClickListener
    }

    Log.i("hola","Funciona2")
    val item = museus[adapterPosition];
    // Pass item to intent and start activity
}

检查非常重要,RecyclerView.NO_POSITION因为可能会发生单击“无位置”的项目的情况。在动画过程中单击某项并同时将其删除时,可能会发生这种情况。

注意:在的更高版本中androidx.recyclerviewgetAdapterPosition()不推荐使用getBindingAdapterPosition()如果您使用的是最新版本,请使用它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在RecyclerView中从ViewHolder获取Intent?

来自分类Dev

在Fragment内部的RecyclerView的ViewHolder调用的startActivity(intent)中使用putExtra时,应用程序崩溃

来自分类Dev

Intent.setData与Intent.putExtra

来自分类Dev

Android Intent putExtra与静态调用?

来自分类Dev

intent.putExtra()在等待中的意图不起作用

来自分类Dev

RuntimeException:android.content.Intent中的方法putExtra不被模拟

来自分类Dev

android studio中intent.getStringExtra和intent.putExtra的解释

来自分类Dev

新Intent中的NullPointerException

来自分类Dev

在RecyclerView for Intent中未检测到OnClick

来自分类Dev

Intent和putExtra不起作用

来自分类Dev

intent.putExtra有什么作用?

来自分类Dev

Intent和putExtra不起作用

来自分类Dev

PendingIntent发送错误的Intent / putExtra

来自分类Dev

intent.putExtra 传递空值

来自分类Dev

在 Kotlin 中从 Fragment 声明 Intent 时出错:

来自分类Dev

如何从Intent Kotlin删除课程

来自分类Dev

通过 Intent 从 ViewHolder 获取团队代码

来自分类Dev

在Broadcast中的intent.putExtra中传递arraylist在getBundleExtra中给出null

来自分类Dev

Intent中的TreeMap成为HashMap

来自分类Dev

Android中的Intent.setClass

来自分类Dev

在Android Intent中的putExtra中传递null会导致编译时错误?

来自分类Dev

将Intent Data中的整数putExtra()设置为ParcelledData导致AsyncTask异常?

来自分类Dev

将Intent Data中的整数putExtra()设置为ParcelledData导致AsyncTask异常?

来自分类Dev

在某些三星设备上Intent.putExtra()崩溃

来自分类Dev

如何将方向设置为intent.putExtra?

来自分类Dev

Intent Putextra可序列化对象数组

来自分类Dev

Bundle.put(String,Pacelable)与Intent.putExtra(String,Parcelable)

来自分类Dev

通过 Intent.putExtra 设置的值不持久

来自分类常见问题

如何通过Kotlin中的Intent传递自定义对象

Related 相关文章

  1. 1

    如何在RecyclerView中从ViewHolder获取Intent?

  2. 2

    在Fragment内部的RecyclerView的ViewHolder调用的startActivity(intent)中使用putExtra时,应用程序崩溃

  3. 3

    Intent.setData与Intent.putExtra

  4. 4

    Android Intent putExtra与静态调用?

  5. 5

    intent.putExtra()在等待中的意图不起作用

  6. 6

    RuntimeException:android.content.Intent中的方法putExtra不被模拟

  7. 7

    android studio中intent.getStringExtra和intent.putExtra的解释

  8. 8

    新Intent中的NullPointerException

  9. 9

    在RecyclerView for Intent中未检测到OnClick

  10. 10

    Intent和putExtra不起作用

  11. 11

    intent.putExtra有什么作用?

  12. 12

    Intent和putExtra不起作用

  13. 13

    PendingIntent发送错误的Intent / putExtra

  14. 14

    intent.putExtra 传递空值

  15. 15

    在 Kotlin 中从 Fragment 声明 Intent 时出错:

  16. 16

    如何从Intent Kotlin删除课程

  17. 17

    通过 Intent 从 ViewHolder 获取团队代码

  18. 18

    在Broadcast中的intent.putExtra中传递arraylist在getBundleExtra中给出null

  19. 19

    Intent中的TreeMap成为HashMap

  20. 20

    Android中的Intent.setClass

  21. 21

    在Android Intent中的putExtra中传递null会导致编译时错误?

  22. 22

    将Intent Data中的整数putExtra()设置为ParcelledData导致AsyncTask异常?

  23. 23

    将Intent Data中的整数putExtra()设置为ParcelledData导致AsyncTask异常?

  24. 24

    在某些三星设备上Intent.putExtra()崩溃

  25. 25

    如何将方向设置为intent.putExtra?

  26. 26

    Intent Putextra可序列化对象数组

  27. 27

    Bundle.put(String,Pacelable)与Intent.putExtra(String,Parcelable)

  28. 28

    通过 Intent.putExtra 设置的值不持久

  29. 29

    如何通过Kotlin中的Intent传递自定义对象

热门标签

归档