Урок 48. Используем SimpleAdapter.

Обсуждение уроков
Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Урок 48. Используем SimpleAdapter.

Сообщение damager82 » 27 ноя 2012, 14:41

AndreyI писал(а):Блин, наверное 33-й раз уже пишу :)
Для любого адаптера данные всегда первичны. Вы используете списковые View для удобного отображения этих данных, зачем вам их получать у адаптера, если вы итак их имеете и кормите ими адаптер? Что вы скормите адаптеру, то и увидите в списках. Никаких сортировок адаптер не делает, вам нужно будет соотировать массив и давать адаптеру уже отсортированные данные. Так что индексы массивов всегда будут совпадать с элементами списков.
Раз вам приходится этим заниматься, значит где-то что-то я не дообъяснил в своих уроках )
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

nubodroid
Сообщения: 28
Зарегистрирован: 19 ноя 2012, 08:20

Re: Урок 48. Используем SimpleAdapter.

Сообщение nubodroid » 27 ноя 2012, 18:52

damager82 писал(а):
AndreyI писал(а):Блин, наверное 33-й раз уже пишу :)
Для любого адаптера данные всегда первичны. Вы используете списковые View для удобного отображения этих данных, зачем вам их получать у адаптера, если вы итак их имеете и кормите ими адаптер? Что вы скормите адаптеру, то и увидите в списках. Никаких сортировок адаптер не делает, вам нужно будет соотировать массив и давать адаптеру уже отсортированные данные. Так что индексы массивов всегда будут совпадать с элементами списков.
Раз вам приходится этим заниматься, значит где-то что-то я не дообьяснил в своих уроках )
Неее... все хорошо объяснено... просто некоторым мало чтобы было как у всех... надо чтоб.... всем плешь проесть и себе в том числе.

Don11
Сообщения: 3
Зарегистрирован: 31 мар 2013, 13:18

Re: Урок 48. Используем SimpleAdapter.

Сообщение Don11 » 14 апр 2013, 23:35

Одного не могу понять,int и boolean - простые типы.Почему их можно добавлять методом put,ведь обобщенные классы работают только с объектами.Насколько я понимаю в put используется приведение типов?Как есть на самом деле,подскажите пожалуйста.

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Урок 48. Используем SimpleAdapter.

Сообщение KamiSempai » 14 апр 2013, 23:59

Да, это приведение типов. В Java оно используется автоматически, везде, где это нужно.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

sgtraf
Сообщения: 7
Зарегистрирован: 16 май 2013, 21:28

Re: Урок 48. Используем SimpleAdapter.

Сообщение sgtraf » 19 май 2013, 18:56

Товарищи, как очисть ListView перед обновлением данных, а то у меня при обновлении записи добавляются в конец тем, что уже есть на экране.

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

Re: Урок 48. Используем SimpleAdapter.

Сообщение Foenix » 19 май 2013, 19:00

код покажите?
R.id.team

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

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 48. Используем SimpleAdapter.

Сообщение rezak90 » 19 май 2013, 19:15

sgtraf писал(а):Товарищи, как очисть ListView перед обновлением данных, а то у меня при обновлении записи добавляются в конец тем, что уже есть на экране.
зачем очищать его если при обновлении передаётся новый курсор и данные строятся заново, а не лдобавляються в конец
R.id.team
Политика на форуме запрещена

igrok-vip
Сообщения: 56
Зарегистрирован: 29 апр 2013, 11:53

Re: Урок 48. Используем SimpleAdapter.

Сообщение igrok-vip » 21 май 2013, 14:03

Здравствуйте. А какой смысл использовать SimpleAdapter и Checkbox, если в уроке написано: "если ставить и снимать галку в пунктах, то данные адаптера при этом не меняются"? Как тогда самому обрабатывать нажатие и отжатие checkbox'ов? При прокрутке данные берутся из массива Map'ов, значит их когда-то нужно там менять?!

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

Re: Урок 48. Используем SimpleAdapter.

Сообщение Foenix » 21 май 2013, 17:46

в уроке все это написано
R.id.team

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

igrok-vip
Сообщения: 56
Зарегистрирован: 29 апр 2013, 11:53

Re: Урок 48. Используем SimpleAdapter.

Сообщение igrok-vip » 22 май 2013, 09:41

В уроке описано как данные запихнуть в адаптер, но ни слова о том, как отлавливать нажатия на чекбокс. Хотя я уже обошёлся без simpleadapter'а, но для общего развиия интересно.

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 48. Используем SimpleAdapter.

Сообщение rezak90 » 22 май 2013, 09:45

написать интерфейс для связи адаптера с активити, передать ссылку на интерфейс в адаптер, запихивать ссылку на интерфейс в тег каждому айтему, определить обработчик для чекбокса, при нажатии на чекбокс срабатывает слушатель, в слушателе делаем колбек в интерфейс, обрабатываем в активити колбек. =)
R.id.team
Политика на форуме запрещена

igrok-vip
Сообщения: 56
Зарегистрирован: 29 апр 2013, 11:53

Re: Урок 48. Используем SimpleAdapter.

Сообщение igrok-vip » 22 май 2013, 17:57

Хорошо, что я обошёлся без simpleadapter'а ))

Sagittarius
Сообщения: 12
Зарегистрирован: 14 мар 2013, 16:23

Re: Урок 48. Используем SimpleAdapter.

Сообщение Sagittarius » 23 май 2013, 15:22

Добрый день.
Из двух вьюшек (в каждой строке) нужно постоянно обновлять только одну.
Можно ли это сделать, и имеет ли это смысл (например, будет выигрыш в скорости заполнения)?.

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Урок 48. Используем SimpleAdapter.

Сообщение KamiSempai » 23 май 2013, 16:47

Sagittarius писал(а):Добрый день.
Из двух вьюшек (в каждой строке) нужно постоянно обновлять только одну.
Можно ли это сделать, и имеет ли это смысл (например, будет выигрыш в скорости заполнения)?.
Зная как устроены списки, могу сказать, что это будет проблематично.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Ivan_P
Сообщения: 7
Зарегистрирован: 06 май 2013, 22:13

Re: Урок 48. Используем SimpleAdapter.

Сообщение Ivan_P » 09 июн 2013, 21:20

Доброго времени суток!
Столкнулся со следующей проблемой:
Использую в SimpleAdapter TextView и ImageView. Но источником изображений для ImageView является динамически изменяемый адрес из web.
Перед упаковкой данных вывожу в LOG адреса и вижу что они корректны, но ImageView картинки не отображает.
Подозреваю что перед

m.put(IMAGE, path);

(где path - это адрес картинки http://... и т.д.)

надо что то ещё сделать с переменной path.

Подскажите, пожалуйста, где собака зарыта?

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Урок 48. Используем SimpleAdapter.

Сообщение damager82 » 10 июн 2013, 10:24

Ivan_P писал(а):Подозреваю что перед

m.put(IMAGE, path);

(где path - это адрес картинки http://... и т.д.)

надо что то ещё сделать с переменной path.

Подскажите, пожалуйста, где собака зарыта?
ImageView не умеет картинки из веба тянуть - http://stackoverflow.com/questions/6453 ... b-with-uri
Вам надо загрузить эту картинку самому.
Либо там же советуют юзать BitmapFactory.decodeStream
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

Ivan_P
Сообщения: 7
Зарегистрирован: 06 май 2013, 22:13

Re: Урок 48. Используем SimpleAdapter.

Сообщение Ivan_P » 10 июн 2013, 11:13

Большое спасибо за информацию.
Буду экспериментировать.

Ivan_P
Сообщения: 7
Зарегистрирован: 06 май 2013, 22:13

Re: Урок 48. Используем SimpleAdapter.

Сообщение Ivan_P » 13 июн 2013, 08:25

Приветствую!!!
Подскажите такой момент.
Хочу вытянуть значения из нескольких TextView, входящих в ListView
Все значения вытягиваются с помощью
Object stroka = getListView().getAdapter().getItem(position);
String strokafull = stroka.toString();

Получается следующее значение: KEY_VALUE={name1=Ivanov, name2=Ivan, name3=Ivanovich}

А вот как отдельно вытянуть name1 или name2?
Где то рядом брожу...но пока не выходит каменный цветок ))

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

Re: Урок 48. Используем SimpleAdapter.

Сообщение Foenix » 13 июн 2013, 08:46

Ivan_P писал(а):Приветствую!!!
Подскажите такой момент.
Хочу вытянуть значения из нескольких TextView, входящих в ListView
Все значения вытягиваются с помощью
Object stroka = getListView().getAdapter().getItem(position);
String strokafull = stroka.toString();

Получается следующее значение: KEY_VALUE={name1=Ivanov, name2=Ivan, name3=Ivanovich}

А вот как отдельно вытянуть name1 или name2?
Где то рядом брожу...но пока не выходит каменный цветок ))
"вытягивать" значения нужно не из listView, а из данных, по которым этот ListView строился.
R.id.team

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

Ivan_P
Сообщения: 7
Зарегистрирован: 06 май 2013, 22:13

Re: Урок 48. Используем SimpleAdapter.

Сообщение Ivan_P » 13 июн 2013, 10:48

Прошу прощения, что неправильно выразился про ListView.
строю список так:
void populate() {
ArrayList<Map<String, Object>> data = getData();
String[] from = { KEY_VALUE, KEY_VALUE2, KEY_VALUE3 };
int[] to = { R.id.value,R.id.value1, R.id.value2 };

SimpleAdapter sa = new SimpleAdapter(this, data, R.layout.item_view,from, to);

setListAdapter(sa);

Но как всё таки вытянуть?

Ответить