Получить из ListView адаптера значение в OnItemClickListener

Ответить
AlexVinn
Сообщения: 81
Зарегистрирован: 04 апр 2014, 04:56

Получить из ListView адаптера значение в OnItemClickListener

Сообщение AlexVinn » 23 май 2014, 16:33

В OnItemClickListener передается заполненый адаптер и номер позиции.
Как вытянуть из него значение объекта ?

public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
}

объект - itemList.add(map); в нем значение с ключом KEY_LINK

как из него вытянуть значение ключа KEY_LINK ?
или я что-то не так делаю ?

Хелп, плз.
Тут должна быть подпись.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Получить из ListView адаптера значение в OnItemClickList

Сообщение Foenix » 23 май 2014, 19:11

все это есть в уроке по листвью. Ключевое слово тут position.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

AlexVinn
Сообщения: 81
Зарегистрирован: 04 апр 2014, 04:56

Re: Получить из ListView адаптера значение в OnItemClickList

Сообщение AlexVinn » 23 май 2014, 19:17

Делаю так -

[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;
}
Тут должна быть подпись.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Получить из ListView адаптера значение в OnItemClickList

Сообщение Foenix » 23 май 2014, 20:15

на ошибки компилятора нажимай ctrl+1 и смотри что предлагает.


Геттеры-сеттеры обычно еще в класс типа вписываются. Короче. в уроках все подробно.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

AlexVinn
Сообщения: 81
Зарегистрирован: 04 апр 2014, 04:56

Re: Получить из ListView адаптера значение в OnItemClickList

Сообщение AlexVinn » 23 май 2014, 20:59

компилятор говорит что бы переименовать файл - не вариант. Какой именно урок ?
Хелп, плз.
Тут должна быть подпись.

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Получить из ListView адаптера значение в OnItemClickList

Сообщение klblk » 26 май 2014, 07:34

вероятно нужно так:
[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]

AlexVinn
Сообщения: 81
Зарегистрирован: 04 апр 2014, 04:56

Re: Получить из ListView адаптера значение в OnItemClickList

Сообщение AlexVinn » 26 май 2014, 07:41

Спасибо за ответ. Там была ошибка в возврате данных адаптером.
Тут должна быть подпись.

Ответить