2015-05-17 6 views
0

Добрый день, извините за запутанное название.Android - создание пользовательского списка, который продолжается через 2 listViews

Я создаю приложение для Android, и у меня есть 4 пользовательских ListViews в одном действии. Из-за длины элементов списка 2 списка прокручиваются, а 2 списка - нет. Сначала я минимизировал высоту из 2 listView, у которых не было полосы прокрутки, так как их данные могут быть показаны сразу. Тем не менее, у других 2 listViews есть много данных, которые им по-прежнему нужно прокручивать даже после максимизации пространства, выделенного на экране.

Решение, которое я имею в виду, состоит в том, чтобы создать «multi-column» непрерывный customListView. Концепция аналогична столбцам в газете, где одна статья будет идти сверху вниз в один столбец и продолжить в следующем столбце. Однако я не нашел свойство listView, которое позволяет мне разбить его на два и отобразить данные так, как я этого хочу. Таким образом, будут отображены все данные списка, и нет необходимости в полосе прокрутки.

Я знаю, что быстрое и грязное решение будет состоять в том, чтобы генерировать столько списков списка, сколько мне нужно, и просто выяснить, какую часть данных массива данных нужно разбить и предоставить им для отображения. Однако это решение является уродливым и нежелательным, поскольку, если число данных arrayList изменяется, тогда решение больше не будет работать. Я хочу элегантное решение.

У кого-нибудь есть идея, как это сделать? Любая помощь очень ценится. Спасибо.

+0

Итак, ваша проблема заключается в том, что содержимое представления списка отключено от экрана, и вы этого не хотите? – AedonEtLIRA

+0

Да, и решение, которое я хочу, состоит в том, чтобы отображать все сразу, используя «multi-column» listView. Я попытался установить размер шрифта на минимально возможный шрифт, но есть еще данные, которые не отображаются. – Razgriz

+0

Тогда вам не следует использовать представление списка. Представление списка спроектировано таким образом, чтобы произвольное содержимое не отображалось. У вас будет своя собственная точка зрения, чтобы получить результаты точно так, как вы хотите. – AedonEtLIRA

ответ

0

В итоге я использовал GridView. Я изменил свое ListView к GridView как таковой:

<GridView 
    android:id="@+id/myIdHere" 
    android:numColumns="4" 
    android:gravity="center" 
    android:columnWidth="100dp" 
    android:stretchMode="columnWidth" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="60" 
    android:fadeScrollbars="false"> 
</GridView> 

А потом я изменил ListView звонки в моей деятельности на GridView, и это было его. Поскольку пользовательские gridViews также используют BaseAdapter, я смог легко легко использовать код.

Смежные вопросы