【发布时间】:2016-02-04 14:16:35
【问题描述】:
我有一个显示列表视图的活动。
Listview 使用 CursorAdapter 显示从 SQLite 数据库读取的数据。
- 我已经实现了一个出现在每个 ListView 项目上的按钮。
- 单击按钮会调用“onClickListener”,它会显示一个弹出菜单(通过膨胀“PopupMenu”)。
- 我需要从 onMenuItemClick 处理程序中的 ListView 项访问数据才能继续处理。
有什么办法可以做到吗?
我问了一个包含代码的问题的更长版本,但没有得到任何回应,所以我认为它可能太长了,我现在已经删除了它。
我的代码显示我尝试以两种方式实现点击处理程序:-
- 通过 XML android:onClick,因此点击处理程序出现在 Activity 代码中
- 并且是动态的,因此单击处理程序出现在 CursorAdapter 代码中。
我也找不到访问列表项数据的方法。似乎无法通过 View 参数访问它。而 onMenuClick 只传递了 'MenuItem'
感谢您提供的任何指导
看来我可能会以错误的方式实现弹出菜单?
【问题讨论】:
-
请
Adapter为您做这件事...? -
辛苦了。但是适配器给我的只是它上次读取的数据,即 Listview 中的底部(或顶部)项目(取决于我上次滚动的方式)。谢谢你的评论
-
我不敢相信这个非常简单的要求并不容易或显而易见 - ListView Items 的弹出菜单肯定是司空见惯的,并且大多数应用程序都想对 ListItem 数据做一些事情。 .. ... 但是我可以通过在按钮视图中将数据库表键作为标签传递来解决问题。有点肮脏的黑客,这意味着我必须再次读取数据库,所以它并不理想。哦,至少我可以克服障碍