Search code examples
androidandroid-intentandroid-recyclerviewkotlinanko

How do I use Anko Intent


Anko Commons - Intent Usage

How do I exactly use Intent from Anko Commons inside RecyclerView Adapter/else to new Activity?


Solution

  • To pass adapter postion:

    class ViewHolder(view: View) : RecyclerView.ViewHolder(view){
        init{
            view.setOnClickListener {
                view.context.startActivity<MyActivity>("key" to getAdapterPosition())
            }
        }
    }
    

    To retrieve in your activity

    val position = intent!!.extras.getInt("key")
    

    UPD: Exact same for any other data:

    class ViewHolder(view: View) : RecyclerView.ViewHolder(view){
        fun bindItem(items: Item) {
            itemView.name.text = items.name
            Glide.with(itemView.context).load(items.image).into(itemView.image)
    
            view.setOnClickListener {
                    view.context.startActivity<MyActivity>("image" to items.image, "name" to items.name)
                }
        }
    }