ListView внутри проблемы ScrollView

Мне нужно сделать макет, как на картинке ниже. Где вы можете видеть, что у меня есть область информации о пользователе, область обзора и область комментариев.

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

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

Есть ли решение?

введите здесь описание изображения

Вот картина, когда я использую ListView с верхним и нижним колонтитулом. введите здесь описание изображения


person Zookey    schedule 14.04.2014    source источник
comment
не используйте listview внутри scrollview. developer.android.com/reference/android/widget/ScrollView.html   -  person Raghunandan    schedule 14.04.2014
comment
Есть ли другое решение?   -  person Zookey    schedule 14.04.2014
comment
вы можете добавлять представления в качестве верхнего и нижнего колонтитула для просмотра списка   -  person Raghunandan    schedule 14.04.2014
comment
Если вы настаиваете: androidhub4you.com/2012/12/   -  person Dhaval    schedule 14.04.2014
comment
Я пробовал это, но обзор слишком велик, а область комментариев (список) не видна на экране, поэтому я не могу получить к ней доступ.   -  person Zookey    schedule 14.04.2014
comment
@Zookey - вы имеете в виду, что всегда хотите видеть (некоторые) комментарии даже для очень длинного обзора (в отличие от прокрутки их в нижней части обзора?) Если да, я предполагаю, что вам нужно два списка просмотры (скажем, 2/3 и 1/3 высоты экрана) один для обзоров и один для комментариев, хотя я мог видеть, что это становится беспорядочным, так как вам (а) вероятно придется ловить прокрутку нового обзора в поле зрения так что вы можете отображать свои комментарии; и (б) вероятно, показывать только один отзыв за раз (даже если он короткий), потому что в противном случае вы не знали бы, какие комментарии относятся к каждому из них.   -  person TripeHound    schedule 14.04.2014
comment
Я очень близок к решению этой проблемы с помощью ListView, который использует верхний и нижний колонтитулы. Проблема заключалась в том, что я использовал ListViw внутри ScrollView и не мог правильно прокрутить вниз. Во всяком случае, теперь я удалил ScrollView, и стало намного лучше, но проблема с прокруткой все еще есть. Обратите внимание на размер слайдера на этих картинках: dodaj.rs/f/ 1g/RV/1lvtUZOt/slider.png dodaj.rs /f/1w/C3/4UAlsLNI/slider1.png   -  person Zookey    schedule 14.04.2014


Ответы (1)


Никогда не используйте Listview внутри ScrollView, потому что Listview уже содержит функциональность прокрутки. Просто используйте Fill_parent для ширины и высоты, он будет автоматически прокручиваться.

android:layout_width="fill_parent"
android:layout_height="fill_parent"

А для прокрутки всего макета вы можете поместить часть обзора в заголовок списка.

person Shashank Agarwal    schedule 14.04.2014
comment
Fill_parent добавить в ListView? Но проблема в том, что обзор может быть очень большим, а область комментариев (listview) вообще не видна на экране. - person Zookey; 14.04.2014
comment
Да, добавьте fill_parent в список. Вот почему вы должны поместить свою часть обзора в заголовок списка, чтобы при прокрутке часть вашего комментария стала видимой. - person Shashank Agarwal; 14.04.2014
comment
Я отредактирую вопрос и опубликую изображение со списком, в котором используются верхний и нижний колонтитулы, пожалуйста, будьте здесь. - person Zookey; 14.04.2014
comment
Вопрос отредактирован, и, как видите, я даже не вижу область комментариев. - person Zookey; 14.04.2014
comment
Да, тогда, когда пользователь прокручивает его, он увидит раздел комментариев. Или, если вы хотите отобразить раздел комментариев на экране, вы можете сделать одну вещь: поместить свой обзор в прокрутку, а затем поместить этот прокрутку в заголовок списка. - person Shashank Agarwal; 14.04.2014
comment
Я очень близок к решению этой проблемы с помощью ListView, который использует верхний и нижний колонтитулы. Проблема заключалась в том, что я использовал ListView внутри ScrollView и не мог правильно прокрутить вниз. Во всяком случае, теперь я удалил ScrollView и добавил верхний и нижний колонтитулы в Listview, и это намного лучше, но у него все еще есть проблемы с прокруткой. Обратите внимание на размер слайдера на этих картинках: dodaj.rs/f/1g/RV/1lvtUZOt/slider.png dodaj.rs/f/1w/C3/4UAlsLNI/slider1.png - person Zookey; 14.04.2014
comment
Я не могу видеть изображение, извините! - person Shashank Agarwal; 14.04.2014
comment
По той ссылке, которую вы дали, показывает битую картинку. - person Shashank Agarwal; 14.04.2014
comment
в чем проблема со слайдером? Вы можете удалить ползунок, если хотите. - person Shashank Agarwal; 14.04.2014
comment
Я думаю, что это указывает на то, что что-то не так, потому что прокрутка ненормальна. Этот синий цвет означает, что это конец списка или? dodaj.rs/f/3E/Ug/3wOjJL7M/blue.png< /а> - person Zookey; 14.04.2014
comment
да, этот синий цвет указывает на конец списка, и вы также можете удалить эту синюю вещь, поместив android:overScrollMode=false в свой список. - person Shashank Agarwal; 14.04.2014
comment
Я знаю это, но я не хочу этого делать. Я думаю, что есть какая-то проблема, потому что я использовал ListView с верхним и нижним колонтитулом, а в этом списке 15 комментариев, и у меня проблема с прокруткой до этих комментариев. Я могу прокручивать, но это не так гладко. - person Zookey; 14.04.2014
comment
Используете ли вы ViewHolder в своем адаптере списка? - person Shashank Agarwal; 14.04.2014
comment
Я бы посоветовал вам использовать ViewHolder для заполнения списка. Ищите его в Google, вы получите много кода, это очень просто, таким образом, ваш список будет очень быстрым, поскольку разработчики Google также предлагают использовать просмотрщик для плавного просмотра списка. И еще одна вещь в вашем XML-представлении списка всегда используйте fill_parent как для высоты, так и для ширины, потому что это также является одной из проблем плохой прокрутки. - person Shashank Agarwal; 14.04.2014
comment
Да, я использую fill_parent как для высоты, так и для ширины. Я попробую это с ViewHolder. - person Zookey; 14.04.2014
comment
Хорошо... если вы обнаружили, что мой ответ/комментарии вам чем-то помогают, пожалуйста, не забудьте отметить это как правильный ответ :) - person Shashank Agarwal; 14.04.2014
comment
Не волнуйся, я буду :) - person Zookey; 14.04.2014