📌  相关文章
📜  Android 中的 RecyclerView 示例(1)

📅  最后修改于: 2023-12-03 14:59:16.021000             🧑  作者: Mango

Android 中的 RecyclerView 示例

RecyclerView 是 Android 中一个强大的视图容器,用于在列表或网格布局中显示大量数据。它提供了更高级别、更灵活和更可定制的功能,比传统的 ListView 更为强大。

本文将为程序员介绍 RecyclerView 的基本用法,并提供一个示例代码来帮助理解。

基本用法

首先,在项目的 build.gradle 文件中添加 RecyclerView 依赖:

implementation 'androidx.recyclerview:recyclerview:1.2.1'

然后,在布局文件中添加 RecyclerView 控件:

<androidx.recyclerview.widget.RecyclerView
    android:id="@+id/recyclerView"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

接下来,在程序代码中初始化 RecyclerView:

RecyclerView recyclerView = findViewById(R.id.recyclerView);
recyclerView.setLayoutManager(new LinearLayoutManager(this));

现在,RecyclerView 已经被初始化,并采用线性布局管理器(LinearLayoutManager)进行布局。接下来,我们需要创建一个适配器(Adapter)来提供数据并创建列表项的视图。

创建适配器

创建一个继承自 RecyclerView.Adapter 的自定义适配器类:

public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {

    private List<String> data;

    public static class ViewHolder extends RecyclerView.ViewHolder {
        public TextView textView;

        public ViewHolder(View itemView) {
            super(itemView);
            textView = itemView.findViewById(R.id.textView);
        }
    }

    public MyAdapter(List<String> data) {
        this.data = data;
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item, parent, false);
        return new ViewHolder(view);
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        holder.textView.setText(data.get(position));
    }

    @Override
    public int getItemCount() {
        return data.size();
    }
}

onCreateViewHolder 方法中,我们将从 list_item.xml 布局文件创建一个视图,并在 onBindViewHolder 方法中设置每个列表项的数据。

现在,我们需要创建 list_item.xml 布局文件来设置每个列表项的视图样式:

<TextView
    android:id="@+id/textView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="10dp" />
设置适配器

继续在程序代码中,将适配器设置给 RecyclerView:

List<String> data = new ArrayList<>();
// 添加数据到列表
data.add("Item 1");
data.add("Item 2");
data.add("Item 3");

MyAdapter adapter = new MyAdapter(data);
recyclerView.setAdapter(adapter);

以上示例代码通过创建一个包含三个项目的字符串列表,并将其设置为适配器的数据源,最后将适配器设置给 RecyclerView。

结束语

通过以上步骤,我们成功创建了一个简单的 RecyclerView 示例。你可以根据需要进一步进行定制和扩展,例如添加点击事件等。

希望本示例能够帮助你更好地理解和使用 Android 中的 RecyclerView。

参考链接: