【发布时间】:2019-03-03 14:40:44
【问题描述】:
我知道这个问题已经有很多变体了......我已经阅读过它们。但是还没有解决方案,所以就这样吧。
- 我有一个本地数据库,用于存储事件的日期、时间等 对象。
- 数据库有一个方法可以返回一个包含所有事件对象的 Arraylist。
- 我有一个链接到列表视图的自定义适配器,它使用数据库中的事件数组列表并在每个对象上使用“获取”方法来显示所有事件的滚动时间表。
到目前为止,一切都很好。
现在,我希望能够单击列表视图中的项目并使用 setOnItemClickListener 将其删除。数据库有一个“deleteEvent”方法,它接受要删除的事件的“id”。 'id' 可以通过 EventObject 类中的 'getEventId' 方法获得。
因此,当单击列表视图中的项目时,我需要一种方法来获取对相关 EventObject 的引用,以便我可以调用“getId”并从数据库中删除该事件。
eventsListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//EventObject e1 = ???
dbHandler.deleteEvent(e1.getEventId());
}
});
【问题讨论】:
-
EventObject e1=list.get(position).. 其中list是您用来填充 listview 的数据集。请务必在删除后通知Listview。
标签: java android listview android-arrayadapter