如何使用setOnItemClickListener从列表视图中的自定义适配器返回对象

时间:2019-03-03 14:40:45

标签: java android listview android-arrayadapter

知道这个问题已经有很多变化了……我已经阅读了。但是目前还没有解决方案。

  • 我有一个本地数据库,用于存储事件的日期,时间等 对象。
  • 数据库具有一种返回所有事件对象的数组列表的方法。
  • 我有一个链接到列表视图的自定义适配器,该适配器使用数据库中的事件的arrayList并在每个对象上使用“获取”方法来显示所有事件的滚动时间表。

到目前为止,很好。

现在,我希望能够在列表视图中单击一个项目并使用setOnItemClickListener将其删除。数据库具有“ deleteEvent”方法,该方法采用要删除事件的“ id”。可以通过EventObject类中的“ getEventId”方法获取“ id”。

因此,当单击列表视图中的项目时,我需要一种方法来获取对相关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());
        }
    });

1 个答案:

答案 0 :(得分:0)

由ADM回答

EventObject e1=list.get(position)

list是您用来填充listview的数据集(arrayList)。确保删除后通知Listview(刷新活动)。