2010-07-14 43 views
2

我有我的自定义视图从我的适配器填充ListView。每个视图都有两个按钮,一个用于启动另一个活动来编辑该列表项目的内容,另一个用于删除该项目。应该在哪里处理listview中的数据更改事件?

我的问题是我的ClickEvent这些按钮的处理程序应该在哪里?我是否应该将它们放在我的自定义视图代码中,因为我拥有我需要的所有信息?我应该启动一个ASyncTask删除项目并更新适配器数据并调用onDataSetChanged()等?

是否所有这些都会通过事件冒泡到我的ListActivity?

我可以让它在任何级别上工作,但沿着这个层次(Activity-> ListView-> Adapter-> ListItemView)的级别是编辑/删除ListView的后备数据的适当位置吗?

回答

0

我做这种方式:

  • Adapter■找该做他们的工作,并呼吁在年底notifyDataSetChanged()底层数据操作(例如public void deleteItem(int position))公共方法;
  • Activity在本地变量中保留对其的Adapter的引用;
  • Listener s通常创建为Activity的匿名内部类,调用适当的Adapter方法。
相关问题