我在尝试检索用户在ListView中单击的视图内容时遇到问题。我的ListView是使用SimpleAdapter设置的,它由列表中每个项目的“标题”和“子标题”组成。这些是使用HashMap存储的。
在活动中,也是一个微调器,当用户在微调器中选择一个项目时,ListView会更新。这工作正常,我认为有必要提一下活动中发生的事情。
我想要做的是检索用户选择了哪个项目,这样我就可以根据他们的选择引导他们进行新的活动(现在只是尝试用Toast显示视图内容)。我想检索项目“engExp”键下存储内容。
这是我的代码:
// HASHMAP FOR LISTVIEW
List<HashMap<String, String>> fillMaps = new ArrayList<HashMap<String, String>>();
for(int x = 0; x < expressionListForModule.getCount(); x++) {
HashMap<String, String> map = new HashMap<String, String>();
map.put("engExp", expressionListForModule.getString(0));
map.put("japDef", expressionListForModule.getString(1));
fillMaps.add(map);
expressionListForModule.moveToNext();
}
// SETUP LISTVIEW
SimpleAdapter adapter2 = new SimpleAdapter(this, fillMaps, android.R.layout.simple_list_item_2, new String[] {"engExp","japDef"}, new int[] {android.R.id.text1, android.R.id.text2});
ListView lv = (ListView) findViewById(R.id.expressionList);
lv.setAdapter(adapter2);
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(getApplicationContext(), ((TextView) view).getText(), Toast.LENGTH_LONG).show();
}
});
具体来说,导致应用程序崩溃的项目是: ((TextView)视图).getText()
如果您需要查看我的更多代码,请告诉我们。
提前感谢任何帮助。
答案 0 :(得分:2)
试
lv.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
TextView v = (TextView) view.findViewById(android.R.id.text1);
String contentForLink = v.getText().toString();
Toast.makeText(getApplicationContext(), contentForLink, Toast.LENGTH_LONG).show();
}
});