【问题标题】:How to return object from custom adapter in listview using setOnItemClickListener如何使用 setOnItemClickListener 从列表视图中的自定义适配器返回对象
【发布时间】: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


【解决方案1】:

ADM 的回答:

EventObject e1=list.get(position)

其中 list 是您用来填充 listview 的数据集 (arrayList)。请务必在删除后通知 Listview(刷新活动)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-31
    • 1970-01-01
    相关资源
    最近更新 更多