效果图
- xml页面
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycle"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
- 适配器 adapter
class DemoAdapter(var list: ArrayList<Demo>?) : RecyclerView.Adapter<DemoViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): DemoViewHolder {
return DemoViewHolder(LayoutInflater.from(parent.context).inflate(R.layout.activity_demo_item,parent,false))
}
//数据处理
override fun onBindViewHolder(holder: DemoViewHolder, position: Int) {
holder.mtext?.text= list!![position].name
}
override fun getItemCount(): Int {
return list!!.size
}
}
- viewholder
class DemoViewHolder(itemview:View):RecyclerView.ViewHolder(itemview) {
var mtext: TextView? = itemView.findViewById(R.id.tv_text) //个人姓名
}
- item
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tv_text"
android:text="哈话"
android:textColor="@color/black"
android:textSize="25sp"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
- 对recycleview 处理
class MainActivity : AppCompatActivity() {
var madapter:DemoAdapter?=null
var list:ArrayList<Demo>?= ArrayList()
@SuppressLint("WrongConstant")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//添加10组数据
for( index in 1..10){
var demo = Demo()
demo.setname("名字$index")
list?.add(demo)
}
findViewById<RecyclerView>(R.id.recycle).layoutManager= LinearLayoutManager(this, LinearLayout.VERTICAL, false)
madapter= DemoAdapter(list)
findViewById<RecyclerView>(R.id.recycle).adapter=madapter
}
}
以上是一个简单的recycleview的实现