2012-02-26 76 views
0

當我從android sample看,如果我用SimpleCursorAdapter,它會自動設置列表視圖表中的主鍵的ID,所以如果我撥打下列事件:化妝的ListView唯一可識別的android系統

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

通過讀取id參數,我可以很容易地確定選擇了哪個數據庫項(行)。

但我通過實現我自己的自定義ArrayAdapter來填充我的列表視圖。正如我在我的前question中解釋的那樣。所以我不知道如何獲得列表視圖項目的選定ID。

我的表只有兩列,long類型的_Id和主鍵,以及nvarchar類型的名稱。

謝謝。

+0

所以...你想找出點擊了哪個項目時onListItemClick被稱爲是關鍵? – m1ntf4n 2012-02-26 19:03:48

+0

是的,所以我可以處理數據庫 – 2012-02-26 19:05:48

+0

適配器中單擊項目的位置存儲在參數位置。呃...我想這不是你的意思? – m1ntf4n 2012-02-26 19:10:29

回答

1

由於您的List<T>由自定義數據容器對象組成,因此您只需將方法(如getPrimaryKey())添加到該數據容器類。現在,在方法onListItemClicked,你可以輕鬆地閱讀做

DataContainer dataContainer = myDataList.get(position); 
int primaryKey = dataContainer.getPrimaryKey(); 

或者乾脆

int primaryKey = myDataList.get(position).getPrimaryKey(); 
0

擴展CursorAdapter而不是ArrayAdapter。然後重寫bindView和newView來實現自定義邏輯和行爲。

+0

是否有教程或樣品?我是android開發的新手。 – 2012-02-26 19:09:07