2013-06-01 2 views
2

У меня есть два expandableListView внутри деятельности, Во-первых, я положил их внутри LinearLayout, но когда первый expandableListView расширяется слишком много пункта, я не могу видеть второе:Два ExpandableListView внутри Scrollview

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@android:color/white" 
    android:orientation="vertical" > 

    <ExpandableListView 
     android:id="@+id/myContactELV" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" > 
    </ExpandableListView> 

    <ExpandableListView 
     android:id="@+id/myGroupELV" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" > 
    </ExpandableListView> 

</LinearLayout> 

первый вид включает группы ааа, ГЭБ, ссс и второй включают дДД, эээ: enter image description here

Когда первый растягиваться, второй находится за пределами видимости, и экран не прокручивается: enter image description here

Так я хочу, чтобы поместить их в Scrollview, но еще хуже:

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@android:color/white" 
    android:orientation="vertical" > 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" > 

     <ExpandableListView 
      android:id="@+id/myContactELV" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" > 
     </ExpandableListView> 

     <ExpandableListView 
      android:id="@+id/myGroupELV" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" > 
     </ExpandableListView> 
    </LinearLayout> 

</ScrollView> 

enter image description here

Так что, когда два expandableListview расширения, я хочу видеть каждый пункт четко, и свиток экрана. Как я могу это достичь?

+0

Опишите причину использования двух ПЗВ. –

+0

Два ПЗВ должны иметь разные источники данных, адаптеры и различные значения. Данные здесь для простоты, они не являются реальными. – cameron

+0

Какие разные значения вы имеете в виду? –

ответ

1

Вы должны дать динамическую высоту каждой расширяемой списке отдельно

2

// заполним вид порта и назначить Waight для каждого списка, так что перешеек экран равномерно

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@android:color/white" 
    android:fillViewport="true" > 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:orientation="vertical" 
    android:weightSum="2" > 

    <ExpandableListView 
     android:id="@+id/myContactELV" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" > 
    </ExpandableListView> 

    <ExpandableListView 
     android:id="@+id/myGroupELV" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" > 
    </ExpandableListView> 
</LinearLayout> 

</ScrollView> 
+1

в атрибуте scrollview set fillViewport true. в Linearlayout назначить сумму веса для экрана деления в двух частях. Надеюсь, он сработает –

+0

Я попробую. Благодарю. – cameron

1

Два ExpandableListView внутри Scrollview - Я не рекомендуется, потому что дети в ExpandableListView не будут сосредоточены на нескольких устройствах Android, имеющих более низкие версии ОС. Вы должны пересмотреть свой дизайн.

Смежные вопросы