Урок 43. Одиночный и множественный выбор в ListView

Обсуждение уроков
Fima777
Сообщения: 30
Зарегистрирован: 14 сен 2012, 13:39

Re: Урок 43. Одиночный и множественный выбор в ListView

Сообщение Fima777 » 09 окт 2012, 21:35

сделал clean , удалил и создал снова, в точности как в уроке,
но всё равно MainActivity не находит R.array.names , почему то подчёркивает array крассной линией и пишет "array cannot be resolved or is not a field"

в чём тут проблема?

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

Re: Урок 43. Одиночный и множественный выбор в ListView

Сообщение rezak90 » 09 окт 2012, 22:38

Fima777
переходи на Intellij, там с этим заморочек нету. =)
R.id.team
Политика на форуме запрещена

Fima777
Сообщения: 30
Зарегистрирован: 14 сен 2012, 13:39

Re: Урок 43. Одиночный и множественный выбор в ListView

Сообщение Fima777 » 09 окт 2012, 22:53

хотелось бы разобраться с eclipse

Fima777
Сообщения: 30
Зарегистрирован: 14 сен 2012, 13:39

Re: Урок 43. Одиночный и множественный выбор в ListView

Сообщение Fima777 » 09 окт 2012, 23:02

разобрался :) спасибо

Аватара пользователя
Iron Acorn
Сообщения: 10
Зарегистрирован: 29 окт 2012, 16:45

Re: Урок 43. Одиночный и множественный выбор в ListView

Сообщение Iron Acorn » 29 окт 2012, 16:50

Здравствуйте. Создал свой шаблон для элементов списка, в нем используется checkbox. Столкнулся с такой проблемой, если чекаю один элемент, то за ним циклически чекаются остальные элементы через каждые 9 позиций. Как можно решить данную проблему?

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

Re: Урок 43. Одиночный и множественный выбор в ListView

Сообщение damager82 » 30 окт 2012, 13:27

Iron Acorn писал(а):Здравствуйте. Создал свой шаблон для элементов списка, в нем используется checkbox. Столкнулся с такой проблемой, если чекаю один элемент, то за ним циклически чекаются остальные элементы через каждые 9 позиций. Как можно решить данную проблему?
На экран влезает примерно 8-9 строк из списка? Скорее всего ваш адаптер просто кэширует строки списка. Когда при прокрутке строки уходят за экран и надо показывать новые строки, он достает старые из "заЭкранья", подставляет необходимые значения и показывает, чтобы не создавать заново целую строку. Иначе список сожрет много памяти при большом количестве данных. И вот когда он подставляет значения в старую строку - он не знает что делать с чекбоксом и оставляет его в прежнем состоянии. Поэтому такой "баг" и возникает.

Посмотрите Урок 54. Там примерно такая же задача решается кастомным адаптером.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

Аватара пользователя
Iron Acorn
Сообщения: 10
Зарегистрирован: 29 окт 2012, 16:45

Re: Урок 43. Одиночный и множественный выбор в ListView

Сообщение Iron Acorn » 30 окт 2012, 21:37

damager82 писал(а):
Iron Acorn писал(а):Здравствуйте. Создал свой шаблон для элементов списка, в нем используется checkbox. Столкнулся с такой проблемой, если чекаю один элемент, то за ним циклически чекаются остальные элементы через каждые 9 позиций. Как можно решить данную проблему?
На экран влезает примерно 8-9 строк из списка? Скорее всего ваш адаптер просто кэширует строки списка. Когда при прокрутке строки уходят за экран и надо показывать новые строки, он достает старые из "заЭкранья", подставляет необходимые значения и показывает, чтобы не создавать заново целую строку. Иначе список сожрет много памяти при большом количестве данных. И вот когда он подставляет значения в старую строку - он не знает что делать с чекбоксом и оставляет его в прежнем состоянии. Поэтому такой "баг" и возникает.

Посмотрите Урок 54. Там примерно такая же задача решается кастомным адаптером.
Спасибо. Ещё вчера нашёл и разобрался.

SEEK
Сообщения: 1
Зарегистрирован: 24 янв 2013, 12:46

Re: Урок 43. Одиночный и множественный выбор в ListView

Сообщение SEEK » 24 янв 2013, 13:33

Fima777 писал(а):разобрался :) спасибо
Поясните пожалуйста- в чем проблема то? у меня тоже никак не хочет...даже после clean-а...

Сергей
Сообщения: 2
Зарегистрирован: 25 сен 2012, 14:39

Re: Урок 43. Одиночный и множественный выбор в ListView

Сообщение Сергей » 26 янв 2013, 21:44

Доброго времени суток.
Проверял работу примера CHOICE_MODE_SINGLE.
В случае отсутствия выбора какого-либо item-а при нажатии на кнопку выдает ошибку.
Скорее всего не может разрешить names[lvMain.getCheckedItemPosition()].
Подскажите как можно обработать это исключение?
Спасибо.

Сергей
Сообщения: 2
Зарегистрирован: 25 сен 2012, 14:39

Re: Урок 43. Одиночный и множественный выбор в ListView

Сообщение Сергей » 27 янв 2013, 00:12

Мое решение

Код: Выделить всё

if (lvMain.getCheckedItemCount() > 0)

kaftanati
Сообщения: 3
Зарегистрирован: 27 фев 2013, 15:44

Re: Урок 43. Одиночный и множественный выбор в ListView

Сообщение kaftanati » 06 мар 2013, 10:07

SEEK писал(а): Поясните пожалуйста- в чем проблема то? у меня тоже никак не хочет...даже после clean-а...
Я нашел взаимосвязь - когда вставлял код в string.xml затирал параметр:

Код: Выделить всё

<string name="action_settings">Settings</string>
Когда вернул его на место все срослось :)

abcman
Сообщения: 1
Зарегистрирован: 06 мар 2013, 18:06

Re: Урок 43. Одиночный и множественный выбор в ListView

Сообщение abcman » 06 мар 2013, 18:15

Ребята пожалуйста подскажите. Всё работает. Но я придумал альтернативный метод, он нужен мне подскажите как мне созданному на этом же активити присвоить значение выбранных элементов. Т.е. массив выбранных в textview?

worldmen
Сообщения: 12
Зарегистрирован: 08 апр 2013, 00:04

Re: Урок 43. Одиночный и множественный выбор в ListView

Сообщение worldmen » 09 апр 2013, 21:49

У меня почему-то на строку

Код: Выделить всё

 btnChecked.setOnClickListener(this);
ругается на setOnClickListener так:
The method setOnClickListener(View.OnClickListener) in the type View is not applicable for the arguments (MainActivity)
и из импорта убирает эту строку:
import android.view.View.OnClickListener;

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

Re: Урок 43. Одиночный и множественный выбор в ListView

Сообщение rezak90 » 09 апр 2013, 22:19

MainActivity не унаследует интерфейс OnClickListener
R.id.team
Политика на форуме запрещена

worldmen
Сообщения: 12
Зарегистрирован: 08 апр 2013, 00:04

Re: Урок 43. Одиночный и множественный выбор в ListView

Сообщение worldmen » 09 апр 2013, 22:52

rezak90 писал(а):MainActivity не унаследует интерфейс OnClickListener
И что делать?

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

Re: Урок 43. Одиночный и множественный выбор в ListView

Сообщение rezak90 » 09 апр 2013, 23:02

worldmen писал(а):
rezak90 писал(а):MainActivity не унаследует интерфейс OnClickListener
И что делать?
унаследовать его))
R.id.team
Политика на форуме запрещена

worldmen
Сообщения: 12
Зарегистрирован: 08 апр 2013, 00:04

Re: Урок 43. Одиночный и множественный выбор в ListView

Сообщение worldmen » 10 апр 2013, 15:57

Это в MainActivity еще дописать один класс в extends, который содержит обработчик OnClickListener ?
public class MainActivity extends Activity, ... {

я еще не особо в синтаксисе силен...

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

Re: Урок 43. Одиночный и множественный выбор в ListView

Сообщение rezak90 » 10 апр 2013, 20:31

Код: Выделить всё

public class MainActivity extends Activity implements OnClickListener
R.id.team
Политика на форуме запрещена

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

Re: Урок 43. Одиночный и множественный выбор в ListView

Сообщение Foenix » 26 апр 2013, 14:17

Смешной вопрос по удобству и андроиду.
Есть диаложек DialogFragment при создании "шапки документа" с парочкой полей вроде названия и даты. В шапку нужно так же внести ОДИН из адресов (адресов может быть несколько или не быть вообще). Подумываю внести в DialogFragment список с одиночным выбором. Но вот задумалась - может быть Spinner (или по-старинному combobox) может быть лучше-красивее? Но вроде как кликать придется на раз больше.. Но с другой стороны, если я для ListView оставлю местечко на 3 строчки, то если адреса будет 4 то человеку придется прокручивать список. Все бы ничего, но вот при редактировании шапки нужная "точечка" может быть скрыта с экрана.. Тасовать адреса вроде как нежелательно, т.к. если чел привык что нужный адрес третий, то ему будет неудобно..
Как бы вы сделали? наверное, лучше Spinner...


Хотя - адрес скорее всего будет до 160 символов длины, в ListView это удобнее отобразить. В Спиннере же нельзя переносить на другую строку?
R.id.team

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

ocean911
Сообщения: 5
Зарегистрирован: 09 май 2013, 10:27

Re: Урок 43. Одиночный и множественный выбор в ListView

Сообщение ocean911 » 09 май 2013, 10:36

Вопрос: а как сделать multichose елементов как в Solid Explorer

Чтоб елементи виделялись не по клику по ним, а на их иконке слева?

Изображение

Прошу очень помочь.. Спасибо.

Ответить