андроид listview отображает все доступные объекты без прокрутки со статическим заголовком

Я испытываю немного затруднений при попытке заставить определенное расположение работать: Я хочу иметь список. Список не должен быть прокручиваемым, но должен быть показан полностью. Но сама страница должна смочь прокрутить (со списками в нем), если общее содержание ist выше, чем экран.

<ScrollView
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     >

     <LinearLayout
         xmlns:android="http://schemas.android.com/apk/res/android"
         android:id="@+id/linear_layout"
         android:orientation="vertical"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:layout_weight="1"
         android:background="#ff181818"
         >
           <Textview android:id="@+id/my_text" text="header contents goes here" android:layout_width="fill_parent" android:layout_height="wrap_content"/>
           <Textview android:id="@+id/headertext" text="header contents goes here" android:layout_width="fill_parent" android:layout_height="wrap_content"/>

          <ListView
               android:id="@+id/my_list1"
               android:layout_height="wrap_content"
               android:layout_width="fill_parent"
          /> 
     </LinearLayout> 

</ScrollView>

это только использует небольшую часть экрана (приблизительно 2 строки на список), вместо того, чтобы заполнить доступную высоту, и сами списки могут быть прокручены. Как я могу изменить расположение, чтобы всегда показать целые списки, но иметь экран быть с возможностью прокрутки?

34
задан poke 10 July 2011 в 21:48
поделиться

2 ответа

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

LinearLayout list = (LinearLayout)findViewById(R.id.list_recycled_parts);
for (int i=0; i<products.size(); i++) {
  Product product = products.get(i);
  View vi = inflater.inflate(R.layout.product_item, null);
  list.addView(vi);
}
64
ответ дан 27 November 2019 в 16:00
поделиться

Установите android:layout_height="fill_parent" в вашем LinearLayout

-6
ответ дан 27 November 2019 в 16:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: