recyclerview实现简单的列表
时间: 2024-01-24 18:04:11 浏览: 24
好的,下面是一个简单的 RecyclerView 实现列表的示例代码:
1. 首先,在布局文件中添加 RecyclerView 控件:
```xml
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
```
2. 创建一个自定义的 RecyclerView.Adapter 类,继承自 RecyclerView.Adapter<VH>,其中 VH 是一个自定义的 ViewHolder 类型。在 Adapter 中实现以下三个方法:
```java
public class MyAdapter extends RecyclerView.Adapter<MyViewHolder> {
private List<String> mDataList;
public MyAdapter(List<String> dataList) {
mDataList = dataList;
}
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_layout, parent, false);
return new MyViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
holder.textView.setText(mDataList.get(position));
}
@Override
public int getItemCount() {
return mDataList.size();
}
}
```
3. 创建一个自定义的 ViewHolder 类,继承自 RecyclerView.ViewHolder,其中包含列表项中的控件。
```java
public class MyViewHolder extends RecyclerView.ViewHolder {
public TextView textView;
public MyViewHolder(@NonNull View itemView) {
super(itemView);
textView = itemView.findViewById(R.id.text_view);
}
}
```
4. 在 Activity 或 Fragment 中初始化 RecyclerView,并设置 Adapter。
```java
public class MainActivity extends AppCompatActivity {
private RecyclerView mRecyclerView;
private MyAdapter mAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mRecyclerView = findViewById(R.id.recycler_view);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
List<String> dataList = new ArrayList<>();
dataList.add("Item 1");
dataList.add("Item 2");
dataList.add("Item 3");
mAdapter = new MyAdapter(dataList);
mRecyclerView.setAdapter(mAdapter);
}
}
```
这样就可以实现一个简单的 RecyclerView 列表了。当然,还有很多其他的功能可以在 RecyclerView 中实现,比如添加点击事件、分割线等等。