我有一个ListActivity,我使用SimpleAdapter创建了一个包含2个字段的列表。这对值使用Map存储,列表是ArrayList。 我有一个onItemClickListener。在选择列表条目时,我得到该对,即2个值。我只需要获得其中一个值。
例如,如果列表项是“John”,“123”。我想在从列表中选择条目后将“123”存储在字符串中 有什么帮助吗?
以下是代码段:
ListView lv = getListView();
ArrayList<Map<String, String>> list = new ArrayList<Map<String, String>>();
list.add(putData(scanned_name, scanned_addr));
String[] from = { "name", "address" };
int[] to = { android.R.id.text1, android.R.id.text2 };
SimpleAdapter adapter = new SimpleAdapter(getApplicationContext(), list,
android.R.layout.simple_list_item_2, from, to);
setListAdapter(adapter);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
Toast.makeText(getApplicationContext(),
parent.getItemAtPosition(position).toString(), Toast.LENGTH_SHORT).show();
}
});
答案 0 :(得分:1)
您必须抓住android.R.id.text1
或android.R.id.text2
的内容。所以,在onItemClick(...)
你需要做的事情:
TextView v =(TextView)findViewById(R.id.text1);
TextView v1 =(TextView)findViewById(R.id.text2);
String content1 = v.getText()。toString();
String content2 = v2.getText()。toString();
您可以根据需要管理它们,即使是在Toast中:
Toast.makeText(getApplicationContext(),v.getText()的toString(),Toast.LENGTH_LONG。).show();