recyclerView创建垂直列表
时间: 2023-12-17 10:27:06 浏览: 28
以下是使用 RecyclerView 创建垂直列表的示例代码:
1. 首先,在布局文件中添加 RecyclerView 组件:
```xml
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
```
2. 在 Activity 或 Fragment 中,初始化 RecyclerView 并设置其布局管理器和适配器:
```java
// 初始化 RecyclerView
RecyclerView recyclerView = findViewById(R.id.recycler_view);
// 设置布局管理器
recyclerView.setLayoutManager(new LinearLayoutManager(this));
// 设置适配器
recyclerView.setAdapter(adapter);
```
其中,`LinearLayoutManager` 是 RecyclerView 的默认布局管理器,用于创建垂直列表。`adapter` 是您自己实现的 RecyclerView.Adapter 子类,用于提供数据和创建列表项视图。
3. 实现 RecyclerView.Adapter 子类:
```java
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
private List<String> mData;
public MyAdapter(List<String> data) {
mData = data;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.item_layout, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
String item = mData.get(position);
holder.mTextView.setText(item);
}
@Override
public int getItemCount() {
return mData.size();
}
public static class ViewHolder extends RecyclerView.ViewHolder {
public TextView mTextView;
public ViewHolder(View itemView) {
super(itemView);
mTextView = itemView.findViewById(R.id.text_view);
}
}
}
```
其中,`onCreateViewHolder` 方法用于创建 ViewHolder 对象,`onBindViewHolder` 方法用于绑定数据到 ViewHolder 中,`getItemCount` 方法用于返回数据集合的大小。
4. 创建列表项布局文件 item_layout.xml:
```xml
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/text_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp" />
```
这个布局文件只包含一个 TextView 组件,用于显示列表项的文本内容。