列表视图中的数据更改事件应该在哪里处理?

时间:2010-07-14 02:08:56

标签: android listview adapter

我有一个ListView,它使用我的自定义视图从我的适配器填充。每个视图都有两个按钮,一个用于启动另一个活动以编辑该列表项的内容,另一个用于删除该项。

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

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

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

1 个答案:

答案 0 :(得分:0)

我是这样做的:

  • Adapter有基础数据操作的公共方法(例如public void deleteItem(int position)),可以完成工作并最终调用notifyDataSetChanged();
  • Activity在本地变量中保留对Adapter的引用;
  • Listener通常被创建为Activity的匿名内部类,调用适当的Adapter方法。