RecyclerView的kotlin写法

1.xml文件中配置RecyclerView

<androidx.recyclerview.widget.RecyclerView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/data_recycle"
        app:layout_constraintTop_toBottomOf="@+id/text_home"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"/>

2.定义adapter

package com.example.myapplication.ui.adapter

import android.content.Context
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import android.widget.Toast
import androidx.recyclerview.widget.RecyclerView
import com.example.myapplication.R

class DataRecycleAdapter(var context:Context?,var dataList: MutableList<String>): RecyclerView.Adapter<DataRecycleAdapter.MyViewHolder>() {


    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
        val view:View = LayoutInflater.from(context).inflate(R.layout.list_item,parent,false)
        return MyViewHolder(view)
    }

    override fun getItemCount(): Int {
        return dataList.size
    }


    override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
        Log.d("wang","position,:$position,${dataList[position]}")
        holder.textInfo?.text = dataList[position]
        holder.incoInfo?.setOnClickListener {
            Toast.makeText(context, "click:$position",Toast.LENGTH_LONG).show()
        }
    }

    class MyViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
         var incoInfo:ImageView? = null
         var textInfo:TextView? = null

        init {
            incoInfo = itemView.findViewById(R.id.icon_info)
            textInfo = itemView.findViewById(R.id.text_info)
        }
    }
}

3.绑定adapter

        val radapter = DataRecycleAdapter(context,list)
        var recycleList:RecyclerView = root.findViewById(R.id.data_recycle)
        recycleList.layoutManager = LinearLayoutManager(context)
        recycleList.adapter = radapter
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容