用recyclerview实现t图文列表
时间: 2024-05-11 18:18:10 浏览: 9
要使用RecyclerView实现图文列表,可以按照以下步骤进行操作:
1. 在布局文件中添加RecyclerView控件
```
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:clipToPadding="false"
android:padding="5dp"
android:scrollbars="vertical" />
```
2. 创建RecyclerView的Adapter类
```
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> {
private List<MyData> dataList;
public MyAdapter(List<MyData> dataList) {
this.dataList = dataList;
}
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.item_layout, parent, false);
return new MyViewHolder(itemView);
}
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
MyData data = dataList.get(position);
holder.titleTextView.setText(data.getTitle());
holder.contentTextView.setText(data.getContent());
holder.imageView.setImageResource(data.getImageResource());
}
@Override
public int getItemCount() {
return dataList.size();
}
static class MyViewHolder extends RecyclerView.ViewHolder {
TextView titleTextView;
TextView contentTextView;
ImageView imageView;
MyViewHolder(@NonNull View itemView) {
super(itemView);
titleTextView = itemView.findViewById(R.id.title_text_view);
contentTextView = itemView.findViewById(R.id.content_text_view);
imageView = itemView.findViewById(R.id.image_view);
}
}
}
```
3. 创建数据类
```
public class MyData {
private String title;
private String content;
private int imageResource;
public MyData(String title, String content, int imageResource) {
this.title = title;
this.content = content;
this.imageResource = imageResource;
}
public String getTitle() {
return title;
}
public String getContent() {
return content;
}
public int getImageResource() {
return imageResource;
}
}
```
4. 创建item布局文件
```
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/image_view"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_marginEnd="10dp"
android:src="@drawable/ic_launcher_background" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/title_text_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Title"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/content_text_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Content"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
```
5. 在Activity中设置RecyclerView的Adapter和LayoutManager
```
RecyclerView recyclerView = findViewById(R.id.recycler_view);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
List<MyData> dataList = new ArrayList<>();
dataList.add(new MyData("Title1", "Content1", R.drawable.image1));
dataList.add(new MyData("Title2", "Content2", R.drawable.image2));
dataList.add(new MyData("Title3", "Content3", R.drawable.image3));
MyAdapter adapter = new MyAdapter(dataList);
recyclerView.setAdapter(adapter);
```
这样就可以实现一个简单的图文列表。