Подтвердить что ты не робот

Проблема с Android ScrollView

У меня есть несколько ListViews в LinearLayout. Он перечисляет вещи в день, поэтому у меня есть TextView, содержащий "Sunday:", за которым следует список элементов, за которым следует текстовый текст "Monday" и т.д. Отлично работает, но не подходит для экрана. Поэтому я добавил ScrollView в качестве родителя LinearLayout. Теперь он прокручивается, но в ListViews есть место для двух записей, независимо от того, имеют ли они 0 или 3 записи. Что-то о добавлении родителя ScrollView привело к тому, что ListViews не изменялся динамически. Я попытался вызвать requestLayout() в ScrollView после того, как адаптеры списка заполнили их представления, но это ничего не делало. Любые идеи?

Изменить: Из http://www.anddev.org/viewtopic.php?p=25194 и других ссылок кажется, что ListViews внутри ScrollView обрабатываются неправильно. У кого-нибудь есть хорошее предложение для реализации списка списков?

4b9b3361

Ответ 1

Меня тоже интересует эта тема, поэтому я немного поработал. Во-первых: никогда не помещайте ListView в ScrollView (как вы сами узнали). К сожалению, googling эта проблема не приводит к каким-либо решениям, поэтому я попробовал свое предложение из моего комментария выше.

Я реализовал пользовательский ListAdapter и поместил ListViews в один родительский ListView. Это не работает (приводит к той же проблеме, что и для ScrollView). Говоря о парнях на официальном андроиде-irС# android-dev на freenode, они сказали мне, что включение ListViews в ListView так же плохо или даже хуже, чем помещение их в ScrollView. К сожалению, они также не могли помочь мне с этой проблемой.

Кажется, существует только один способ добиться того, что вы хотите сделать; см. ответ на этот похожий вопрос Прокрутка с несколькими списками для Android. Идея состоит в том, чтобы объединить все ListViews в один из них с помощью настраиваемого адаптера и вставить какие-то заголовки между записями. Это абсолютно выполнимо, но может потребовать особых усилий.

Ответ 2

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

Я бы предположил, что для этого вы используете Expandable ListView. Это решит все ваши проблемы. У вас могут быть основные/родительские имена как недели, а когда вы его расширите, у вас будет список записей для этого конкретного дня/недели/независимо. Кроме того, вам не придется беспокоиться о прокрутке, так как это берется андроидом:)

Если вы попробуете это, тогда, пожалуйста, дайте мне знать, если это сработает для вашей проблемы Попробуйте найти примеры в Expandable ListView.

edit: здесь можно проверить пример - http://mylifewithandroid.blogspot.com/2008/05/expandable-lists.html