Android:如何使用光标获取列表视图中的所选项目?

发布于 2024-11-10 00:21:47 字数 109 浏览 3 评论 0原文

我对 Android 很陌生。

谁能告诉我当数据来自 Cursor 时如何从 ListView 中获取所选项目,

谢谢。

I am very new to Android.

Can anybody tell me how can I get the selected item from the ListView when the data is coming from a Cursor

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

我们的影子 2024-11-17 00:21:47

如果您创建了一个 ListActivity(其中有一个 ListView),则每当列表中出现一个条目时都会调用 onListItemClick() 方法被点击。此方法有一个参数long id,其中包含您所选项目的 ID。

这背后的想法是,SQLite 数据库中的每个条目都有一个唯一的 ID(使用 auto_increment)。如果您使用 SimpleCursorAdapter 设置 ListActivity,则需要一个名为 _id 的列(如果您有一个 ID 列,另一个名称,使用 AS 函数)。此列自动用于确定单击的条目具有哪个 ID。

假设您的一个条目的 ID 为 12,并且该 ID 位于 _id 列中。如果您从 ListView 中选择此条目,则 onListItemClick() 方法的 id 参数将包含值 12

如果您使用数据库来存储内容(例如在笔记本中),这是最简单的方法。

If you created a ListActivity (which has a ListView in it), the onListItemClick()-method is called every time a entry in the list is clicked. This method has a parameter long id which contains the ID of your selected Item.

The idea behind this is, that every entry in your SQLite Database has a unique ID (using auto_increment). If you set your ListActivity up with a SimpleCursorAdapter, you'll need to have a column named _id (if you have a ID-column with another name, use the AS-function). This column is automatically used to determine which ID the clicked entry has.

So lets say one of your entry's has the ID 12 and this ID is in the column _id. If you select this entry from your ListView, the onListItemClick()-method's id-parameter will contain the value 12.

This is the easiest way if you're using a Database for your content (like in a Notebook).

歌枕肩 2024-11-17 00:21:47

您可以使用 setOnItemClickListener 方法为 ListView 设置一个 OnItemClickListener

在该方法中,您拥有选定的位置,并且可以为该位置调用适配器的 getItem 方法。

您可能应该重写适配器中的 getItem 以从您的域返回正确构造的对象。

You set an OnItemClickListener for the ListView using the setOnItemClickListener method.

Within that method you have the selected position and you can call your adapter's getItem method for that position.

You should probably override getItem in your adapter to return a properly constructed object from your domain.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文