Как добавить к listView новый элемент?
Как добавить к listView новый элемент?
Всем привет, вопрос следующий:
Есть listView со стандартным адаптером SimpleAdapter. Как при клике на элемент списка добавить под ним новый layout(в SimpleAdapter применялся другой)?
То есть по виду это примерно как ExpandableListView, только с одним элементом внутри.
Есть listView со стандартным адаптером SimpleAdapter. Как при клике на элемент списка добавить под ним новый layout(в SimpleAdapter применялся другой)?
То есть по виду это примерно как ExpandableListView, только с одним элементом внутри.
Re: Как добавить к listView новый элемент?
По-твоему разработчики андроида просто так создали экспандбл лист? Лучше объясни что ты хочешь сделать, а не спрашивай "как сделать такой-то велосипед".
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Как добавить к listView новый элемент?
Добавить или открыть? Если первое, то это не ExpandableListView. Для первого варианта можете поискать библиотеку тут - https://play.google.com/store/apps/deta ... oide.repos
В материальном дизайне вроде вышел как раз такой элемент, но я не уверен что он для версий ниже 5, так что ищите то что вам надо в этой программе-коллекции библиотек.
В материальном дизайне вроде вышел как раз такой элемент, но я не уверен что он для версий ниже 5, так что ищите то что вам надо в этой программе-коллекции библиотек.
Re: Как добавить к listView новый элемент?
Благодарю за ответы,
doter.ua, сейчас получаю данные с сервера в формате json парсю их и вывожу в listview. В поставленной задачи стоит условие, что ExpandableListView использовать нельзя, даже при угрозе обрезания и записи в талибан. Задача, чтобы при клике на item, нижний item(следующий за тем, на который кликнули) сдвигался и туда(в образовавшуюся брешь) добавлялся другой layout с определёнными textView внутри. При этом добавляемый layout отличается от того, который использует SimpleAdapter(его менять можно).
Mikhail_dev, нужно именно добавить. Да, в materialDesign есть recycleView который подошёл бы мне, но по версии не проходит((((
PS. Mikhail_dev, огромное спасибо за ссылку!
doter.ua, сейчас получаю данные с сервера в формате json парсю их и вывожу в listview. В поставленной задачи стоит условие, что ExpandableListView использовать нельзя, даже при угрозе обрезания и записи в талибан. Задача, чтобы при клике на item, нижний item(следующий за тем, на который кликнули) сдвигался и туда(в образовавшуюся брешь) добавлялся другой layout с определёнными textView внутри. При этом добавляемый layout отличается от того, который использует SimpleAdapter(его менять можно).
Mikhail_dev, нужно именно добавить. Да, в materialDesign есть recycleView который подошёл бы мне, но по версии не проходит((((
PS. Mikhail_dev, огромное спасибо за ссылку!
Re: Как добавить к listView новый элемент?
А кастомный адаптер можно ииспользовать??
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Как добавить к listView новый элемент?
например?doter.ua писал(а):А кастомный адаптер можно ииспользовать??
Re: Как добавить к listView новый элемент?
Да, ограничения касаются только ExpandableListViewdoter.ua писал(а):А кастомный адаптер можно ииспользовать??
Re: Как добавить к listView новый элемент?
Стало быть разумных человеческих(предусмотренных) вариантов нет?
Re: Как добавить к listView новый элемент?
Можно попробовать в кастомном адаптере модифицировать rowView - контейнер элемента. Так как адаптер реагирует на изменение данных, а не на изменение его "вида" напрямую при клике нужно изменять какую-нибудь булку(bool), а при отображении данных эта булка будет управлять блоком кода, который изменяет rowView. Например можно накидать туда элементов addChild. Место для данных можно заготовить заранее для каждого из элементов, просто оно будет пустым и использоваться в зависимости от булки.
P.S. В моем варианте rowView - элемент, который создается LayoutInflater-ом.
P.S. В моем варианте rowView - элемент, который создается LayoutInflater-ом.
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Как добавить к listView новый элемент?
Он же в Support Library, там минимальная версия API 7.w1zard писал(а):Да, в materialDesign есть recycleView который подошёл бы мне, но по версии не проходит((((
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
Re: Как добавить к listView новый элемент?
Может в разметку ячейки добавит элемент ViewStub? Погуглите, может подойдёт вам. В адаптере делать ViewStub видимым если необходимо.
Re: Как добавить к listView новый элемент?
Камрады, всем спасибо) в итоге на viewstub остановился
