Android ListView не расширяется, как предполагалось - PullRequest
0 голосов
/ 09 сентября 2010

Мой сценарий такой:

<ScrollView     
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"      
   android:scrollbars="vertical"        
   android:background="#ffffeb">

   <LinearLayout 
      android:orientation="vertical"
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent"
      android:padding="10dp">

      // Other stuff in between here..

      <LinearLayout
         android:orientation="vertical"   
         android:layout_width="fill_parent"   
         android:layout_height="fill_parent"   
         android:paddingLeft="12dp"   
         android:paddingRight="12dp">

         <Button 
            android:id="@+id/insert_ad_ad_information_category_and_type_button"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="6dp"
            android:text="@string/insert_ad_ad_information_category_and_type_button"/>

         <ListView
            android:id="@+id/insert_ad_ad_information_parameters_frame"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="#ffffeb"
            android:cacheColorHint="#00000000"
            android:divider="#00000000"
            android:dividerHeight="0dp"
            android:scrollbars="none"
            android:listSelector="@android:color/transparent"/>

Проблема, с которой я столкнулся, заключается в том, что я не могу заставить ListView получить нужную мне высоту.
Я добавлю пару компонентов с моим пользовательским классом BaseAdapter, и все там будет работать как задумано.
Но когда я затем отлаживаю свое приложение, я вижу только 1,5 из 3 компонентов в списке, а остальные скрыты ниже в ListView.
Но как я могу заставить свой ListView рассчитать, сколько компонентов у меня есть, и заставить его отображать все мои компоненты напрямую, не слишком прокручивая вниз?

Еще одна мысль: могу ли я заполнить любой другой вид View своим BaseAdapter? Потому что единственная причина, по которой я использую ListView, заключается в методе setAdapter().

Ценю все мысли и комментарии :)

Ответы [ 2 ]

1 голос
/ 09 сентября 2010

Вы не можете иметь ListView в ScrollView. Вот в чем проблема.

0 голосов
/ 10 сентября 2010

Как уже было сказано, вы не можете использовать ListView внутри ScrollView. Если вы хотите, чтобы у вашего списка были разные типы элементов и прокрутите их с помощью «обычных» элементов. вам на самом деле нужен специальный адаптер. Вы можете основать его на BaseAdapter, если хотите Адаптер должен поддерживать ваши типы элементов и раздувать соответствующие макеты,

...