使用按钮INSIDE适配器刷新ListView

时间:2013-06-20 12:35:36

标签: android listview adapter notifydatasetchanged

我有我的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(),但似乎无效。

我只删除了数据库中的行但忘记更新Adapter的值。完成后,notifyDataSetChanged()完美无缺!

1 个答案:

答案 0 :(得分:0)

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