Я создал собственный список с элементами и вложенными элементами, используя связанную хэш-карту. Я хочу установить прослушиватель щелчка элементов и передать элемент, выбранный в виде строки, в следующем действии через намерение.
final ListView resultsListView = (ListView) findViewById (R.id.results_listview);
final LinkedHashMap<String, String> nameAddresses = new LinkedHashMap<>();
nameAddresses.put(getString(R.string.a), getString(R.string.location_a));
nameAddresses.put(getString(R.string.b), getString(R.string.location_b));
nameAddresses.put(getString(R.string.c), getString(R.string.location_c));
nameAddresses.put(getString(R.string.d), getString(R.string.location_d));
nameAddresses.put(getString(R.string.e), getString(R.string.location_e));
nameAddresses.put(getString(R.string.f), getString(R.string.location_f));
nameAddresses.put(getString(R.string.g), getString(R.string.location_g));
nameAddresses.put(getString(R.string.h), getString(R.string.location_h));
List<HashMap<String, String>> listItems = new ArrayList<>();
SimpleAdapter adapter = new SimpleAdapter(this, listItems, R.layout.list_item,
new String[]{"First Line", "Second Line"},
new int[]{R.id.text1, R.id.text2});
Iterator it = nameAddresses.entrySet().iterator();
while (it.hasNext())
{
LinkedHashMap<String, String> resultsMap = new LinkedHashMap<>();
Map.Entry pair = (Map.Entry)it.next();
resultsMap.put("First Line", pair.getKey().toString());
resultsMap.put("Second Line", pair.getValue().toString());
listItems.add(resultsMap);
}
resultsListView.setAdapter(adapter);
resultsListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String itemClicked=nameAddresses.get(position);
Intent intent=new Intent(seeAllHospitalsCategory.this, departments_category.class);
intent.putExtra("Hospital Selected", itemClicked);
startActivity(intent);
}
});
get (position) выбрасывает нулевое значение. Вывод должен быть текстом, который содержится в id text1. Например, когда я нажимаю на первый элемент, он должен передать значение в R.string.a результирующему действию