2012-02-24 70 views
8

我有一個listView vith一些項目。Android ListView和OnClickListener:如何獲取所選項目

我想從我的onClickListener獲得所選項目的名稱(String)。

我知道如何獲得選定的位置,但如何找到這個元素的字符串?

這是我上點擊收聽:

journalNames.setOnItemClickListener(new OnItemClickListener() { 
public void onItemClick(AdapterView<?> parent, View view,int position, long id) 
    { 

    }}); 

我的ListView填充了從數據庫中查詢一些。

謝謝。

回答

17

怎麼樣,

journalNames.setOnItemClickListener(new OnItemClickListener() { 
public void onItemClick(AdapterView<?> parent, View view,int position, long id) 
    { 
     String selectedFromList = (journalNames.getItemAtPosition(position).getString()); 
    }}); 
+0

我認爲getItemAtPosition()不返回字符串 – 2012-02-24 08:52:47

+1

驚人的,很好的答案。這正是我需要的。非常感謝。只在最後添加.getString()。 – 2012-02-24 08:53:07

+1

你可以這樣使用,String selectedFromList =(String)journalNames.getItemAtPosition(position);或者String selectedFromList =(journalNames.getItemAtPosition(position).toString()); – user370305 2012-02-24 08:58:48

8

你可以找到它無論是在視圖或父。在eclipse中只需輸入view。並看看你輸入了什麼方法(點)。我認爲這是最好的。

parent.getAdapter().getItem(position); 
+1

由於您的適配器/列表可能包含比列表項視圖中顯示的更多信息(例如Ids),因此我對此答案投了贊成票。 – David 2013-06-15 22:17:55

+0

它一定是這樣!我總是直接訪問列表(作爲課堂上的一個字段),但我錯了。通過父節點監聽器被封裝。即使我不得不從一個列表轉到另一個列表,聽衆可以保持不變! – user1592714 2013-11-14 00:40:36