2015-02-12 4 views
1

Итак, я провел некоторое исследование и тестирование использования listview в scrollview, и, как многие люди могут знать, что это, как предполагается, плохо, потому что они оба прокручиваются. Это также означает, что я не могу показать полный список, поскольку он будет обернут меньшим.Создайте представление ListView как в ScrollView Android

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

Что я хотел бы знать, это то, что является предпочтительным способом создания неконтролируемого списка, например вида? В принципе, я хочу точно так же, как и список, но, очевидно, не прокручиваемый, а высота зависит от его содержимого. Я предпочел бы работать с макетом как можно большего количества XML, и я хотел бы иметь возможность отправлять список массивов для просмотра на экране. К сожалению, мои навыки поиска довольно скучны, так как я не смог найти нигде, что действительно объясняет предпочтительный метод, поэтому я думал, что попрошу здесь.

Благодарим за помощь.

<> Разъяснение Информация
Я думал, что я это здесь в случае, если это поможет, во-первых, я в основном хочу показать изображение со списком комментариев (каждый из них имеет автора и текст) ниже его , сами комментарии получаются из массива и могут меняться. Я хочу, чтобы вся страница была прокручиваемой, поэтому я могу либо просмотреть больше комментариев, либо вернуться к изображению.

+0

Вы можете создать [RecyclerView] (https://developer.android.com/reference/android/support/v7/widget/RecyclerView.html) (это более новая альтернатива ListView) с адаптером который обрабатывает несколько типов элементов. Взгляните на [этот метод] (https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Adapter.html#getItemViewType (int)). На самом деле позвольте мне написать это как ответ с более подробной информацией. –

ответ

1

Используя RecyclerView и адаптер, поддерживающий multiple item types, вы можете сделать список, который показывает изображение сверху и несколько комментариев под ним. Как правило, вам нужно будет проверить, какой элемент соответствует каждой позиции - в вашем случае в позиции 0 у вас есть изображение, и в любой другой позиции у вас будет комментарий. Затем в ваших адаптерах onCreateViewHolder и onBindViewHolder вы будете проверять тип элемента и обрабатывать его по-разному.

Вы можете взглянуть на this answer для краткого примера. Сообщите мне, если вам понадобится какая-либо другая информация и/или примеры кода, чтобы получить эту идею. :)

+0

Я бы тоже пошел на это решение. Вдоль линий этого предложения находится старый headviewiew listview, который можно применить в recyclerview. Подробнее об этом [здесь] (http://stackoverflow.com/questions/26448717/android-5-0-add-header-footer-to-a-recyclerview). –

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