2011-11-22 204 views
0

我是Android开发新手,但试图获取字符串变量的一个元素,但似乎无法弄清楚。如何从列表项中获取单个项目

@Override 
    protected void onListItemClick(ListView walksList, View v, int position, long id) 
    { 
    String selected = walksList.getItemAtPosition(position).toString(); 
} 

selected将返回我:

{root=WalkOneRoot, caption=WalkOneCaption, title=WalkOneTitle} 

我所试图做的是为每个列表项到一个变量分离“WalkOneRoot”。

任何帮助将不胜感激。

回答

0

如果你有用textviews设置的listview,你可以简单地使用textview来获得你想要的onListItemClick。

TextView tv = (TextView)v.findViewById(R.id.root); 
String myString = tv.getText().toString(); 
0

ListView.getItemAtPosition(int position)正在返回类型为Object的通用对象。不要在selected上调用toString(),而应该将其转换为它的实际类型,然后从中提取WalkOneRoot值。

列表视图中包含哪些类型的对象?

+0

嗨,WalkOneRoot只是来自db字段的文本,并且将是散步的名字,我已经使用'WalkOneRoot'来进行测试。有大约40个步行全部列在sqlite数据库中。 – user1060249

0

您正在检索的项目是View,这就是为什么toString()仅仅返回您在View类中覆盖的toString方法的原因。大概你可以重写toString来只返回你感兴趣的变量。