У меня есть фрагмент Android, в котором есть Вертикальный LinearLayout с двумя макетами внутри него: Другой внутренний вертикальный LinearLayout (который занимает не менее половины экрана) и ListView (который показывает несколько меньших видов). Хороший способ подумать об этом - это что-то вроде сообщения в facebook, а также несколько комментариев, показанных ниже.Как сделать весь экран содержащим (LinearLayout + ListView) прокручиваемым
Проблема, с которой я сталкиваюсь, заключается в том, что внутренний LinearLayout не прокручивается, и поэтому части ListView остаются вне экрана, и нет возможности прокручивать экран, чтобы увидеть весь ListView (возможно, внутренняя компоновка возьмите весь экран). Также известно, что размещение всего макета внутри ScrollView является плохой практикой.
Я знаю, что одним из решений является создание всего макета ListView с первой ячейкой, которая будет внутренней LinearLayout, а затем ячейками из исходного ListView. Это, однако, имеет свои проблемы: сложнее перерабатывать представления в ListView, и, как правило, я также рассматриваю это как плохую практику, когда одна ячейка имеет другое поведение из всех других ячеек в ListView.
Есть ли лучшее решение для этого? Я могу себе представить, что это типичная проблема, и я надеюсь найти лучшее решение, чем выше.
Если части списка находятся вне экрана, у вас есть ошибка в вашем xml. Или вы должны использовать относительный макет вместо линейного, чтобы этого не произошло. Кроме того, если вы действительно хотите, чтобы верхний вид прокручивался вместе со списком, правильный способ - сделать его заголовком списка, а не делать его ячейкой в списке. –