2012-02-24 53 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