1 / 1 / 0
Регистрация: 12.12.2015
Сообщений: 39
|
||||||
1 | ||||||
Убрать скролл в ListView21.08.2016, 19:01. Показов 4762. Ответов 16
Метки нет (Все метки)
Пишу форму для настольной игры. На форме несколько списков ListView, каждый из которых скрывается по кнопке. Всё это находится в ScrollView. Я ожидал, что списки будут видны полностью, высотой будут по размеру контента и прокручиваться вместе со всей страницей от ScrollView, но оказалось, что у списка показывается только 1 элемент, остальное нужно прокручивать скроллом от ListView. И если на больших экранах он хотя бы нормально скроллится, то на маленьких, когда работает скролл от ScrollView, список прокручивается только колёсиком мыши. Возможно ли убрать скролл со списков и показывать их полностью?
Код формы:
0
|
21.08.2016, 19:01 | |
Ответы с готовыми решениями:
16
Одновременный скролл нескольких ListView Как убрать прокрутку ListView Убрать выделение строк в Listview Убрать все виды выделений с item в ListView |
Модератор
3387 / 2159 / 352
Регистрация: 13.01.2012
Сообщений: 8,378
|
|
21.08.2016, 20:06 | 2 |
MaFa23, где то читал про то что помещать лист в скрол не нужно. где то у гугла
0
|
1 / 1 / 0
Регистрация: 12.12.2015
Сообщений: 39
|
|
21.08.2016, 20:19 [ТС] | 3 |
Знаю, тоже где-то читал, что скролл у ListView не работает со ScrollView, но в том и дело, что мне не нужен скролл в ListView, нужно, чтобы список показывался полностью, без прокрутки, прокручиваться должен не каждый отдельный список, а вся страница.
0
|
Модератор
3387 / 2159 / 352
Регистрация: 13.01.2012
Сообщений: 8,378
|
|
21.08.2016, 20:26 | 4 |
MaFa23, перепроектируйте адаптер сделав в нем разделители - будет один лист с разделами или я вас неверно понял
0
|
1 / 1 / 0
Регистрация: 12.12.2015
Сообщений: 39
|
|
21.08.2016, 20:28 [ТС] | 5 |
Даже то, что есть на скрине, еле помещается на маленьком экране, а данная форма - это только часть страницы, выше ещё навигация по вкладкам и пара кнопок, так что без ScrollView точно ничего не уместится
0
|
Модератор
3387 / 2159 / 352
Регистрация: 13.01.2012
Сообщений: 8,378
|
|
21.08.2016, 20:31 | 6 |
MaFa23, уместится. весь ваш тройной список станет одним длинным прокручиваемым листом. а кнопки которые сверху - если их так много что они не могут остаться на месте при прокрутке и вы хотите при скроле уводить их с экрана сделайте у листа хидер. правда у меня не получилось)) в крайнем случае кнопки можно так же засунуть в итем
0
|
1 / 1 / 0
Регистрация: 12.12.2015
Сообщений: 39
|
|
21.08.2016, 20:43 [ТС] | 7 |
Про разделители не понял, но думаю, это не то. Представьте, что у меня не ListView, а просто вертикальный LinearLayout. Вот примерно такой результат мне и нужен - просто список без прокрутки. Подумываю уже действительно обойтись без ListView и сделать список на Layout'е
Добавлено через 7 минут На словах думаю будет долго объяснять, так что выложу весь проект https://yadi.sk/d/OzBLMnPMuNgt2 Когда запустите, перейдите на вкладку "Имущество", нажмите "+" у "Домов", подобавляйте в список, и посмотрите, как список выглядит и прокручивается. (Другие вкладки и списки пока не работают)
0
|
1 / 1 / 0
Регистрация: 12.12.2015
Сообщений: 39
|
|
21.08.2016, 21:10 [ТС] | 8 |
Попробовал удалить ScrollView, теперь список выглядит лучше, но на маленьком экране чтобы его увидеть пришлось скрыть другие разделы и кнопку из шапки
0
|
266 / 242 / 96
Регистрация: 11.01.2015
Сообщений: 673
|
|
21.08.2016, 22:11 | 9 |
MaFa23, почему бы не использовать ExpandableListView?
0
|
Модератор
3387 / 2159 / 352
Регистрация: 13.01.2012
Сообщений: 8,378
|
||||||
22.08.2016, 09:54 | 10 | |||||
MaFa23, как я понял вы не писали адаптер, а просто подаете в ListView ArrayList. попробуйте нарисовать свой адаптер. к примеру вот такой монстр
1
|
1 / 1 / 0
Регистрация: 12.12.2015
Сообщений: 39
|
||||||
22.08.2016, 17:12 [ТС] | 12 | |||||
vxg, Адаптер пока не поменял, решил сначала проверить, можно ли скрыть часть списка. Появилась проблема, когда делаю так
0
|
Модератор
3387 / 2159 / 352
Регистрация: 13.01.2012
Сообщений: 8,378
|
|
22.08.2016, 17:24 | 13 |
MaFa23, вообще чайлды вроде индексируются от верхнего видимого - у вас при полном проходе вообще фарш должен быть и OutOfBounds
0
|
1 / 1 / 0
Регистрация: 12.12.2015
Сообщений: 39
|
|
22.08.2016, 18:01 [ТС] | 14 |
vxg, Что тогда можете предложить, чтобы скрывать часть списка? Сейчас выяснил, что метод removeView не работает и всегда выдаёт исключение. Единственный вариант, который ещё можно попробовать - в адаптере для элементов списков, которые нужно скрыть, возвращать пустой View.
0
|
Модератор
3387 / 2159 / 352
Регистрация: 13.01.2012
Сообщений: 8,378
|
|
22.08.2016, 18:29 | 15 |
MaFa23, не надо пустой - просто известите адаптер об изменениях а в нем самом исключите из выдачи скрытые элементы (как будто их нет в массиве) с коррекцией индексов и размера конечно. А вообще не ясно что не понравилось в предложенном адаптере "три в одном"
1
|
1 / 1 / 0
Регистрация: 12.12.2015
Сообщений: 39
|
|
22.08.2016, 19:21 [ТС] | 16 |
vxg, Именно этот адаптер "три в одном" я сейчас и делаю на основе вашего кода. Но каждый из трёх разделов списка нужно как-то скрывать. Для каждого списка я создал булевские переменные на скрывание списков, и в методе getView собирался возвращать пустой View для элементов списков, помеченных для скрывания.
Сначала немного затупил, но пока писал сообщение понял примерно, что нужно сделать. Я правильно понял, что при notifyDataSetChanged вызывается getCount адаптера, и полученное число раз вызывается getView? Тогда возвращать сумму в getCount и вычислять индексы в getView нужно без учёта длин скрытых списков?
0
|
Модератор
3387 / 2159 / 352
Регистрация: 13.01.2012
Сообщений: 8,378
|
|
22.08.2016, 19:25 | 17 |
MaFa23, да
0
|
22.08.2016, 19:25 | |
22.08.2016, 19:25 | |
Помогаю со студенческими работами здесь
17
ListView. После добавления кнопки перестал быть доступен сам ListView Listview вывод данных и переход по нажатию на другой Listview SQLite Передача данных из ListView в другой Activity в ListView Данные из SQlite в ListView, обработка события ListView Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |