gpt4 book ai didi

Android:无法刷新我的 ListView

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:23:59 26 4
gpt4 key购买 nike

当我尝试删除 ListView 中的项目时,它不会更新 ListView 。我在 stackoverflow 中关注并阅读了一些类似的问题,但没有结果。你能帮帮我吗?

我有一个 Activity Ver,其中有一个 onResume() 方法:

public class Ver_DespesasActivity extends ActionBarActivity {

private ListView listView ;
private ArrayAdapter dataAdapter;
private DatabaseHelper databaseHelper ;
private List<Despesa> despesas;
ArrayList<Despesa>items;
MyAdapter adapter;

(...)
@Override
public void onResume() {
super.onResume();
databaseHelper= new DatabaseHelper(this.getApplicationContext());
Gasto gasto = databaseHelper.getGasto();
String mes = gasto.getMes();
int ano = gasto.getAno();

items.clear();
items.addAll(databaseHelper.getAllDespesas(mes, ano));
adapter.refresh(items);
}

然后我有一个 MyAdapter 类,其中有 refresh() 方法:

public class MyAdapter extends BaseAdapter implements ListAdapter {

private ArrayList<Despesa> list = new ArrayList<Despesa>();
private Context context;
(...)
public void refresh(ArrayList<Despesa> list)
{
this.list = list;
this.notifyDataSetChanged();
}

MyAdapterConstructor:

public MyAdapter(ArrayList list, Context context) {
this.list = list;
this.context = context;
}

更新:我不知道这是否重要,我没有使用 list.remove 来删除 ListView 的项目,我有一个方法可以做到这一点。

最佳答案

由于适配器已经在使用您的 items 列表,因此您不需要刷新方法。您可以直接修改项目 notifyDataSetChanged

items.clear();
items.addAll(databaseHelper.getAllDespesas(mes, ano));
adapter.notifyDataSetChanged();

关于Android:无法刷新我的 ListView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28728790/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com