3

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

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

所有这些都应该通过我的 ListActivity 事件来冒泡吗?

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

4

1 回答 1

0

我这样做:

  • Adapters 具有用于底层数据操作(例如public void deleteItem(int position))的公共方法,这些方法可以完成它们的工作并notifyDataSetChanged()最终调用;
  • ActivityAdapter在局部变量中保留对它的引用;
  • Listeners 通常被创建为Activity调用适当Adapter方法的匿名内部类。
于 2010-07-14T03:47:28.957 回答