📜  listview 刷新 android 适配器 - Java (1)

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

ListView 刷新 Android 适配器 - Java

在 Android 中,ListView 是一个常见的用于显示列表数据的控件。当数据源改变时,我们需要刷新适配器以更新列表的显示。本文将介绍如何刷新适配器,并给出一个示例。

刷新适配器

刷新适配器是更新 ListView 显示的最常见方式,它会触发 ListView 调用适配器的特定方法来获取新的数据,并重新绘制布局。

在 Java 中,ListView 的适配器是通过 setAdapter() 方法设置的。因此,在刷新适配器时,我们需要获取当前适配器的引用,并调用 notifyDataSetChanged() 方法来通知 ListView 数据源已经改变。

adapter.notifyDataSetChanged();

这里的 adapter 是 ListView 当前使用的适配器。注意,必须在 UI 线程中调用该方法,否则会抛出异常。

示例

下面是一个使用 ArrayAdapter 显示字符串列表的示例。假设我们有一个字符串列表 list,当用户点击一个按钮后,我们需要将列表倒序排列并刷新适配器。

// 定义 ArrayAdapter
ArrayAdapter<String> adapter = new ArrayAdapter<>(this,
        android.R.layout.simple_list_item_1, list);

// 获取 ListView 引用
ListView listView = findViewById(R.id.list_view);

// 设置适配器
listView.setAdapter(adapter);

// 点击按钮时执行的方法
public void onButtonClicked(View view) {
    Collections.reverse(list); // 将列表倒序排列
    adapter.notifyDataSetChanged(); // 刷新适配器
}

在这个示例中,我们首先定义了一个 ArrayAdapter,然后将它设置为 ListView 的适配器。当用户点击按钮时,我们对列表进行了排序,并刷新适配器以更新 ListView 的显示。

结论

ListView 刷新适配器是一个常见的 Android 开发任务。通过获取当前的适配器引用,调用 notifyDataSetChanged() 方法即可刷新适配器。需要注意的是,该方法必须在 UI 线程中调用。