Страница 1 из 1
Получить из ListView адаптера значение в OnItemClickListener
Добавлено: 23 май 2014, 16:33
AlexVinn
В OnItemClickListener передается заполненый адаптер и номер позиции.
Как вытянуть из него значение объекта ?
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
}
объект - itemList.add(map); в нем значение с ключом KEY_LINK
как из него вытянуть значение ключа KEY_LINK ?
или я что-то не так делаю ?
Хелп, плз.
Re: Получить из ListView адаптера значение в OnItemClickList
Добавлено: 23 май 2014, 19:11
Foenix
все это есть в уроке по листвью. Ключевое слово тут position.
Re: Получить из ListView адаптера значение в OnItemClickList
Добавлено: 23 май 2014, 19:17
AlexVinn
Делаю так -
[syntax=javascript] list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String sss = ((itemList) parent.getAdapter().getItem(position)).get("title");
}
});[/syntax]
Ошибка - itemList cannot be resolved to a type
ArrayList<HashMap<String, String>> itemList = new ArrayList<HashMap<String, String>>();
методы адаптера -
public int getCount() {
return data.size();
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
Re: Получить из ListView адаптера значение в OnItemClickList
Добавлено: 23 май 2014, 20:15
Foenix
на ошибки компилятора нажимай ctrl+1 и смотри что предлагает.
Геттеры-сеттеры обычно еще в класс типа вписываются. Короче. в уроках все подробно.
Re: Получить из ListView адаптера значение в OnItemClickList
Добавлено: 23 май 2014, 20:59
AlexVinn
компилятор говорит что бы переименовать файл - не вариант. Какой именно урок ?
Хелп, плз.
Re: Получить из ListView адаптера значение в OnItemClickList
Добавлено: 26 май 2014, 07:34
klblk
вероятно нужно так:
[syntax=java]String sss = ((HashMap<String, String>) parent.getAdapter().getItem(position)).get("title");[/syntax]
а то что у вас было написано, то была несовместимая с java глупость.
а вообще адаптер можно вывести в переменную класса и тогда все упростится:
[syntax=java]String sss = adapter.getItem(position).get("title");[/syntax]
Re: Получить из ListView адаптера значение в OnItemClickList
Добавлено: 26 май 2014, 07:41
AlexVinn
Спасибо за ответ. Там была ошибка в возврате данных адаптером.