2013-02-20 19 views
-1

檢索行我試圖找回我的表的實際_id在旋轉這樣當點擊:的Android源碼在onItemSelected

@Override 
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
    String c = parent.getSelectedItem().toString(); 
    long id_mark = parent.getItemIdAtPosition(position); 
    Toast.makeText(parent.getContext(), "Category: " + c + " | _id: " + id_mark, Toast.LENGTH_LONG).show(); 
} 

我的表:(某些列被用戶刪除)

_id | category_name 
--------------------- 
1 | NAME_HERE_1 
3 | NAME_HERE_2 
4 | NAME_HERE_3 
7 | NAME_HERE_4 

的吐司輸出是:

Category: NAME_HERE_2 | _id: 2 

id_mark是0不同我的表。那麼如何繼續? 在此先感謝!

+0

沒有關於您的適配器類(類型以及如何提供它)的知識很難說 – Selvin 2013-02-20 16:45:59

回答

0

id_mark是不同的_id我的表。那麼如何繼續?

如果你使用一個CursorAdapter,並想從你的桌子_id,只需使用第四參數idonItemSelected()id已經保存了所選行的表的主鍵。

+0

但是,如果用戶擦除第2行,則_id = 3的列將傳遞給id爲2的微調器。結果會是一樣的,不是嗎? – SpecTrum 2013-02-20 17:20:35

+0

如果您使用的是Cursor和CursorAdapter,則不適用。你使用什麼類型的適配器? – Sam 2013-02-20 17:24:20

+0

我用一個ArrayAdapter來設置一個微調器 – SpecTrum 2013-02-20 17:46:41