2012-09-04 86 views

回答

2

我假設你使用的是SimpleCursorAdapter(或類似),所以我會用OnItemClickListener

listView.setOnItemClickListener(new OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
     // id references the SQLiteDatabase _id column 
    } 
}); 
+0

但是,如何獲取所選項目的ID? – Tim

+0

當用戶點擊一個ListView行時,它會調用'onItemSelected()'。在'onItemSelected()'裏面有變量'id',這是來自ID列的id。 – Sam

+0

謝謝,也會這樣工作:myList.getId(); – Tim

1

以下是如何制定出適合我。在另一個類中,我創建了一個List類型的方法,並在sqlite數據庫列表中添加了列ID爲&的項目名稱。

下面是檢索所選項目的列標識的代碼片段。

public List<String> list; 
    adapt = new MyAdapter(this, R.layout.list_inner_view, list); //custom adapter 
    listTask.setAdapter(adapt); 

    listTask.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> adapterView, View v, int position, long l) { 

      Integer id = list.get(position).getId(); 
      //position is the position of the item in the list. 
     } 
    }); 

結果:該項目位於列表中的第3位。其數據庫column_id(自動增量)值爲12,因爲我刪除了以前的項目。所以你期望的結果是12,這是變量id的值。

如果您完全不理解,可能是因爲我沒有發佈我的整個代碼。但我會幫你解決你的問題。

相關問題