2010-10-25 69 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); 

}

相關問題