2010-10-25 73 views
5

我正在开发一个Android应用程序。确定点击ListActivity方法onListItemClick的项目

我有几个对象加载在ListActivity上。我想知道点击事件onListItemClick的项目。

我看到方法onListItemClick有一个叫id的参数。我如何设置这个ID?

我的对象由一个ID标识,如何将此ID添加到listItem?

谢谢。

回答

7

什么是您的列表数据的来源?如果您使用的是游标 - 那么在onListItemClick(ListView l, View v, int position, long id)中传递的ID将自动成为游标行的ID。

+0

我没有使用游标。我正在使用一个字符串数组。 – VansFannel 2010-10-25 11:03:57

+0

然后假定您的数组在其索引之一中包含该ID,请使用position变量访问该数组。即myArray [position] [0](如果您的ID是数组的索引0) – Dave 2010-10-25 11:07:19

+0

您是否明白我的意思?源数据必须有您的对象ID开头,无论它是一个String []或ArrayList,或者光标或任何其他来源。 – Dave 2010-10-25 11:16:08

2

使用以下内容;

listView.getItemAtPosition(position); 

其中listView是列表视图的名称。

+0

不,它不会为我工作。例如,我在位置12上放置了id = 1的对象。我不想知道位置,我想知道特定位置上的对象的id。 – VansFannel 2010-10-25 11:02:09

8

如果SectionObj是您希望稍后访问的对象,请在设置源时将其设置在适配器中。

ArrayList<SectionObj> li 

ArrayAdapter<SectionObj> adapter=new ArrayAdapter<SectionObj>(getApplicationContext(),android.R.layout.simple_list_item_1, li); 
    setListAdapter(adapter); 

然后在乌拉圭回合监听方法..

protected void onListItemClick(ListView l, View v, int position, long id) { 

SectionObj o=(SectionObj)getListView().getItemAtPosition(position); 

}

相关问题