Android studio写一段用recyclerview实现两列多行的完整代码并逐句添加注释
时间: 2024-02-19 10:03:36 浏览: 195
Android代码-支持多选的 RecyclerView
好的,这里是一份使用 RecyclerView 实现两列多行布局的完整代码,并附有详细的注释:
首先,在你的布局文件中添加 RecyclerView 组件:
```xml
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp" />
```
接下来,创建一个 Item 的布局文件,这里我们使用一个简单的 TextView 作为例子:
```xml
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/itemText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp"
android:textSize="18sp" />
```
然后,创建一个 RecyclerView 的 Adapter 类,用来绑定数据和 Item 布局:
```java
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
private List<String> mData; // 数据源
// 构造函数,传入数据源
public MyAdapter(List<String> data) {
mData = data;
}
// 创建 ViewHolder,用于绑定 Item 布局
@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);
}
// 将数据源的数据绑定到 ViewHolder 的控件上
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.mTextView.setText(mData.get(position));
}
// 返回数据源的数据个数
@Override
public int getItemCount() {
return mData.size();
}
// 自定义 ViewHolder,用于缓存 Item 布局中的控件
public static class ViewHolder extends RecyclerView.ViewHolder {
public TextView mTextView;
public ViewHolder(View itemView) {
super(itemView);
mTextView = itemView.findViewById(R.id.itemText);
}
}
}
```
接着,在你的 Activity 或 Fragment 中,初始化 RecyclerView,并设置 Adapter:
```java
public class MainActivity extends AppCompatActivity {
private RecyclerView mRecyclerView;
private MyAdapter mAdapter;
private List<String> mData;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化 RecyclerView
mRecyclerView = findViewById(R.id.recyclerView);
// 初始化数据源
mData = new ArrayList<>();
for (int i = 1; i <= 20; i++) {
mData.add("Item " + i);
}
// 设置 LayoutManager,这里使用 GridLayoutManager,设置为两列
GridLayoutManager layoutManager = new GridLayoutManager(this, 2);
mRecyclerView.setLayoutManager(layoutManager);
// 设置 Adapter
mAdapter = new MyAdapter(mData);
mRecyclerView.setAdapter(mAdapter);
}
}
```
最后,运行程序,你将看到两列多行的 RecyclerView 布局了!
阅读全文