Kotlin 简单的RecyclerView
Posted 彬sir哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kotlin 简单的RecyclerView相关的知识,希望对你有一定的参考价值。
kotlin实现RecyclerView效果如下:
activity_list.xml
......
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/mRecyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/bgColorSecondary"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
......
1.kotlin比java强大简单能减少代码
1.1 MyListActivity.kt
......
private lateinit var mAdapter: MyListAdapter
override fun layoutRes(): Int = R.layout.activity_list
......
override fun initData(){
var mList = arrayListOf<MutableMap<String,String>>()
var names = arrayOf("xxx_1", "xxx_2", "xxx_3","xxx_4","xxx_5",
"xxx_6","xxx_7","xxx_8","xxx_9","xxx_10","xxx_11","xxx_12",
"xxx_13", "xxx_14", "xxx_15")
for(name in names){
var map = mutableMapOf<String,String>()
map["Name1"] = name
map["Name2"] = name
map["Name3"] = name
mList.add(map)
}
mAdapter = MyListAdapter()
mAdapter.setList(mList)
}
private fun setAdapter(){
mRecyclerView.adapter = mAdapter;
}
......
1.2 MyListAdapter.kt
class MyListAdapter(layoutResId: Int = R.layout.item_list) :
BaseQuickAdapter<MutableMap<String,String>,BaseViewHolder>(layoutResId),LoadMoreModule{
override fun convert(holder: BaseViewHolder, item: MutableMap<String, String>) {
holder.itemView.run {
tv_value1.text = item["Name1"]
tv_value2.text = item["Name2"]
tv_value3.text = item["Name3"]
}
}
}
item_list.xml
<TextView
android:id="@+id/tv_value1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="6dp"
android:layout_marginEnd="16dp"
android:textColor="#1B1B1D"
android:textSize="16sp"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginLeft="10dp"
android:layout_marginRight="16dp"
tools:ignore="MissingConstraints" />
<TextView
android:id="@+id/tv_value2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="6dp"
android:layout_marginEnd="16dp"
android:textColor="#1B1B1D"
android:textSize="16sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_value1"
android:layout_marginLeft="10dp"
android:layout_marginRight="16dp"/>
<TextView
android:id="@+id/tv_value3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="6dp"
android:layout_marginEnd="16dp"
android:textColor="#1B1B1D"
android:textSize="16sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_value2"
android:layout_marginLeft="10dp"
android:layout_marginRight="16dp" />
源代码zip下载
下载源代码
以上是关于Kotlin 简单的RecyclerView的主要内容,如果未能解决你的问题,请参考以下文章
在recyclerview kotlin中插入firebase快照
通过kotlin ..通过firebase从数据库读取数据到RecyclerView的麻烦
当 Kotlin 中的数据发生变化时,如何在 RecyclerView 中重新绑定项目?
DataBinding:如何使用 Kotlin 中的泛型创建具有多个 ViewHolder(多个布局)的 Recyclerview