我有一个ListView,它使用我的自定义视图从我的适配器填充。每个视图都有两个按钮,一个用于启动另一个活动以编辑该列表项的内容,另一个用于删除该项。
我的问题是我的ClickEvent处理程序应该放在哪里?我应该把它们放在我的自定义视图代码中,因为我有我需要的所有信息吗?我应该启动ASyncTask来删除项目并更新适配器数据并调用onDataSetChanged()等吗?
是否所有这些都会通过事件冒泡到我的ListActivity?
我可以在任何级别上工作,但是在这个层次结构的哪个级别(Activity-> ListView-> Adapter-> ListItemView)是编辑/删除ListView的后备数据的适当位置? / p>
答案 0 :(得分:0)
我是这样做的:
Adapter
有基础数据操作的公共方法(例如public void deleteItem(int position)
),可以完成工作并最终调用notifyDataSetChanged()
; Activity
在本地变量中保留对Adapter
的引用; Listener
通常被创建为Activity
的匿名内部类,调用适当的Adapter
方法。