Ich habe eine ListActivity, in der ich einen SimpleAdapter verwendet habe, um eine Liste zu erstellen, die 2 Felder hat. Das Wertepaar wird unter Verwendung einer Map gespeichert, und die Liste ist eine ArrayList. Ich habe einen OnItemClickListener für diese. Beim Auswählen eines Listeneintrags erhalte ich das Paar, d. H. Die 2 Werte. Ich muss nur 1 dieser Werte erhalten.Erhalte ein einzelnes Feld aus mehrspaltigem ListView mit SimpleAdapter
Zum Beispiel, wenn das Listenelement "John", "123" ist. Ich möchte "123" in einem String speichern, nachdem ich den Eintrag aus der Liste ausgewählt habe. Irgendwelche Hilfe?
Hier ist der Code-Schnipsel:
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();
}
});
Danke. Arbeitete gut. Genau, da ich das vordefinierte Layout simple_list_item_2 verwendet habe, sollte es sein 'TextView v = (TextView) findViewById (android.R.id.text1); TextView v1 = (TextView) findViewById (android.R.id.text1); ' – Alabhya
Uh, du hast Recht (+1). Ich bin glücklich, hilfsbereit zu sein ... – Ant4res