Stackoverflow确实帮助我达到了这个水平。谢谢大家。
基本上,我想从ListView中的选定项目中获取一个元素(子部分而不是整个数据)。我在这里读到可以使用游标完成,但没有成功。这是关联的代码段:
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Cursor member = (Cursor)parent.getItemAtPosition(position);
Toast.makeText(getApplicationContext(),
"Click ListItem Number "+member.getString(2), Toast.LENGTH_LONG)
.show();
}
});
parent.getItemAtPosition(position)
给了我(Array,我想):
{name="xyz_name", uname="xyz_user", desig="xyz_desig"}
正确。
我想,假设从这里获取uname
,所以,使用Cursor来获取它,但上面的代码片段给出了错误,
java.lang.ClassCastException: java.util.HashMap cannot be cast to android.database.Cursor
添加详细信息:我正确获取与listView项关联的文本。我实际上想要检索的数据的子部分。例如,检索到的数据显然是一个包含名称和角色的数组。现在,我只想获取角色&#39;数组中的元素。因为,数据是作为一个数组检索的,我在网上搜索的是我可以使用游标来检索不同的元素。希望你现在拥有我。
我身边似乎是一个愚蠢的语法错误。如果您有任何其他选择,请告诉我们。
谢谢:)
答案 0 :(得分:2)
采用简单的方法
ListView list = (ListView) findViewById(R.id.listview);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Object listItem = list.getItemAtPosition(position);
Toast.makeText(getApplicationContext(),"Click ListItem Number"+listItem.getString(), Toast.LENGTH_LONG).show();
}
});