【问题标题】:Refresh ListView with button INSIDE adapter使用按钮 INSIDE 适配器刷新 ListView
【发布时间】:2013-06-20 12:35:36
【问题描述】:

我有我的 ListAdapter

public class ListAdapter extends ArrayAdapter<Todo> implements OnCheckedChangeListener, OnClickListener

里面

@Override
  public View getView(int position, View convertView, ViewGroup parent) {
         ....
  }

我有

ImageButton btn_delete = (ImageButton)rowView.findViewById(R.id.btn_delete);
btn_delete.setId(position);
btn_delete.setOnClickListener(this);

onClick() 内部,我从数据库中删除了一行(使用我之前保存在视图中的位置)。 之后我想看到我的 ListView 更新。 我应该在OnClick 中使用哪条指令来做到这一点?

我尝试使用notifyDataSetChanged(),但它似乎不起作用。

解决方案

我只从数据库中删除了该行,但忘记更新适配器的值。完成后,notifyDataSetChanged() 完美运行!

【问题讨论】:

  • 你必须从数据库中填充你的列表视图......所以做一件事从你获取你的值并在调用 notifyDataSetChanged() 之前调用它的特定功能

标签: android listview adapter notifydatasetchanged


【解决方案1】:

如果您使用的是Internal SQLite database,则应使用CursorAdaperCursorLoader。这样,您的应用程序不仅会变得更具响应性,而且还会在数据库发生更改时自动更新列表视图。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-20
    • 1970-01-01
    • 1970-01-01
    • 2013-01-28
    相关资源
    最近更新 更多