Android:如何使用光标获取列表视图中的所选项目?
我对 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您创建了一个
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 aListView
in it), theonListItemClick()
-method is called every time a entry in the list is clicked. This method has a parameterlong 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 yourListActivity
up with aSimpleCursorAdapter
, you'll need to have a column named_id
(if you have a ID-column with another name, use theAS
-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 yourListView
, theonListItemClick()
-method'sid
-parameter will contain the value12
.This is the easiest way if you're using a Database for your content (like in a Notebook).
您可以使用
setOnItemClickListener
方法为ListView
设置一个OnItemClickListener
。在该方法中,您拥有选定的位置,并且可以为该位置调用适配器的
getItem
方法。您可能应该重写适配器中的
getItem
以从您的域返回正确构造的对象。You set an
OnItemClickListener
for theListView
using thesetOnItemClickListener
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.