Страница 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
Спасибо за ответ. Там была ошибка в возврате данных адаптером.