android kotlin RecyclerView 显示itme
时间: 2023-11-16 08:49:41 浏览: 105
Android-Kotlin实现RecyclerView数据列表Demo
要在RecyclerView上显示项目,您需要执行以下操作:
1. 创建一个适配器类来管理和显示数据。适配器类必须继承RecyclerView.Adapter类并实现三个方法:onCreateViewHolder()、onBindViewHolder()和getItemCount()。onCreateViewHolder()方法负责创建视图持有者ViewHolder,onBindViewHolder()方法负责绑定数据到ViewHolder,getItemCount()方法返回数据源中项目的数量。
2. 创建一个布局文件来定义RecyclerView项目的外观。此布局将用作RecyclerView.Adapter的参数之一。
3. 在主活动(Activity)中实例化RecyclerView,并将其与适配器和数据源连接。您需要提供一个布局管理器(LayoutManager)来指定RecyclerView项目的排列方式。
以下是一个简单的示例:
1. 创建适配器类
```
class MyAdapter(private val items: List<String>) : RecyclerView.Adapter<MyAdapter.ViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val view = LayoutInflater.from(parent.context).inflate(R.layout.my_item_layout, parent, false)
return ViewHolder(view)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.textView.text = items[position]
}
override fun getItemCount(): Int {
return items.size
}
class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val textView: TextView = itemView.findViewById(R.id.my_text_view)
}
}
```
2. 创建布局文件
my_item_layout.xml:
```
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:id="@+id/my_text_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="18sp" />
</LinearLayout>
```
3. 在主活动中实例化RecyclerView
MainActivity.kt:
```
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val items = listOf("Item 1", "Item 2", "Item 3")
val adapter = MyAdapter(items)
val layoutManager = LinearLayoutManager(this)
recycler_view.adapter = adapter
recycler_view.layoutManager = layoutManager
}
}
```
activity_main.xml:
```
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
```
这将在RecyclerView上显示三个项目,每个项目都由my_item_layout.xml定义的布局文件呈现。
阅读全文