У меня есть простой Android Spinner, который я заполняю двумя столбцами списка "значок" и "имя". Это работает отлично.
ArrayList<HashMap<String, Object>> stationList = new ArrayList<HashMap<String, Object>>();
... // fill stationList
Spinner spinner = (Spinner) findViewById(R.id.stations);
SimpleAdapter adapter = new SimpleAdapter(
this,
stationList,
R.layout.listitem,
new String[] { "icon", "name" },
new int[] {R.id.option_icon, R.id.option_text });
spinner.setAdapter(adapter);
Как я могу получить строку из списка, просто зная "имя"? Я не знаю id и позицию в прядильщике!
Благодарю!
Если вы хотите найти в stationList
определенное значение, вы можете попробовать что-то вроде этого:
for(HashMap<String, Object> map : stationList) {
if(map.containsValue("name")) {
// Do something
}
}
getRowByName(String name)
и реализовать его самостоятельно. Если вы расширите SimpleAdapter, у вас будет доступ к базовому списку, поэтому вам придется выполнять некоторый тип итеративного поиска.