添加ScrollView后,ExpanableListView在android中不显示

时间:2015-10-19 09:43:05

标签: android android-layout android-listview android-xml

我是android开发的新手。我遇到了一些未知类型的情况,我的可扩展列表视图没有显示。在添加scroolview之前,它完全适合我。

这里是我的MainActivity.xml: -

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

<LinearLayout
    android:id="@+id/linear_layout_outer"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <include
        android:id="@+id/toolbar"
        layout="@layout/toolbar" />

</LinearLayout>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v4.widget.DrawerLayout
        android:id="@+id/drawer_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>

        <ExpandableListView
            android:id="@+id/lvExp"
            android:layout_width="260dp"
            android:layout_height="match_parent"
            android:layout_gravity="start">

        </ExpandableListView>

        <ScrollView
        android:id="@+id/list_item"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fillViewport="true">

        <LinearLayout
            android:id="@+id/line3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <com.daimajia.slider.library.SliderLayout
                android:id="@+id/slider"
                android:layout_width="match_parent"
                android:layout_height="100dp" />

    <!--        <View
                android:id="@+id/grad_offer_details_view"
                android:layout_width="match_parent"
                android:layout_height="5dp"
                android:background="@android:color/darker_gray"/>  -->

            <TextView
                android:id="@+id/grad_offer_details"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Grab Before Time Runs Out"
                android:gravity="center"
                android:textSize="20dp"/>


            <HorizontalScrollView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:scrollbars="none">

                <LinearLayout
                    android:id="@+id/linear_layout_outer_image01"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:orientation="vertical">

                    <LinearLayout
                        android:id="@+id/linear_layout_inner_image01"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:orientation="horizontal">

                        <LinearLayout
                            android:id="@+id/line1"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:orientation="vertical"
                            android:visibility="gone">

                            <ImageView
                                android:id="@+id/image01"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:src="@drawable/ic_launcher"
                                android:visibility="gone"/>

                            <TextView
                                android:id="@+id/text_"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:text="Hello"
                                android:visibility="gone"/>

                            <TextView
                                android:id="@+id/text__"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:text="Hello"
                                android:visibility="gone"/>

                        </LinearLayout>

                    </LinearLayout>

                </LinearLayout>

            </HorizontalScrollView>

            <View
                android:id="@+id/discount_and_offers_view"
                android:layout_width="match_parent"
                android:layout_height="2dp"
                android:background="#d3d3d3"/>
            <!-- android:background="@android:color/gray" -->
            <TextView
                android:id="@+id/discount_and_offers"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Discount And Offers"
                android:gravity="center"
                android:textSize="20dp"/>

            <HorizontalScrollView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:scrollbars="none">

                <LinearLayout
                    android:id="@+id/linear_layout_outer_discount_image01"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:orientation="vertical">

                    <LinearLayout
                        android:id="@+id/linear_layout_inner_discount_image01"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:orientation="horizontal">

                        <LinearLayout
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:orientation="vertical"
                            android:visibility="gone">

                            <ImageView
                                android:id="@+id/discount_image01"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:src="@drawable/ic_launcher"
                                android:visibility="gone"/>

                          <TextView
                                android:id="@+id/discount_text_"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:text="Hello"
                                android:visibility="gone"/>

                            <TextView
                                android:id="@+id/discount_text__"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:text="Hello"
                                android:visibility="gone"/>

                            </LinearLayout>

                    </LinearLayout>

                </LinearLayout>

            </HorizontalScrollView>

            <View
                android:layout_width="match_parent"
                android:layout_height="2dp"
                android:background="@android:color/darker_gray"/>

            <HorizontalScrollView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:scrollbars="none"
                android:visibility="gone">

                <LinearLayout
                    android:id="@+id/linear_layout_outer_mans_image01"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    android:visibility="gone">

                    <LinearLayout
                        android:id="@+id/linear_layout_inner_mens_image01"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:orientation="horizontal"
                        android:visibility="gone">

                        <ImageView
                            android:id="@+id/mens_image01"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:src="@drawable/ic_launcher"
                            android:visibility="gone"/>

                        <TextView
                            android:id="@+id/mens_text__"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="Hello"
                            android:visibility="gone"/>
                        <TextView
                            android:id="@+id/mens_textPrice_"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="Hello"
                            android:visibility="gone"/>

                    </LinearLayout>

                    <LinearLayout
                        android:id="@+id/linear_layout_inner_mens_name01"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:orientation="horizontal">

                        <TextView
                            android:id="@+id/mens_text"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="Hello"
                            android:visibility="gone"/>

                    </LinearLayout>

                    <LinearLayout
                        android:id="@+id/linear_layout_inner_mens_price01"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:orientation="horizontal">

                        <TextView
                            android:id="@+id/mens_textPrice"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="Hello"
                            android:visibility="gone"/>

                    </LinearLayout>

                </LinearLayout>

            </HorizontalScrollView>

            <View
                android:layout_width="match_parent"
                android:layout_height="5dp"
                android:background="@android:color/darker_gray"/>

        </LinearLayout>

    </ScrollView>

    </android.support.v4.widget.DrawerLayout>

</RelativeLayout>

我尝试了很多东西,但我找不到合适的解决方案。请帮帮我!

2 个答案:

答案 0 :(得分:0)

Plz尝试这可能对你有帮助... 当你在下面设置适配器时调用这个方法......

public static void setListViewHeightBasedOnChildren(ListView listView) {
        ListAdapter listAdapter = listView.getAdapter();
        if (listAdapter == null)
            return;

        int desiredWidth = View.MeasureSpec.makeMeasureSpec(listView.getWidth(), View.MeasureSpec.UNSPECIFIED);
        int totalHeight = 0;
        View view = null;
        for (int i = 0; i < listAdapter.getCount(); i++) {
            view = listAdapter.getView(i, view, listView);
            if (i == 0)
                view.setLayoutParams(new ViewGroup.LayoutParams(desiredWidth, ViewGroup.LayoutParams.WRAP_CONTENT));

            view.measure(desiredWidth, View.MeasureSpec.UNSPECIFIED);
            totalHeight += view.getMeasuredHeight();
        }
        ViewGroup.LayoutParams params = listView.getLayoutParams();
        params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
        listView.setLayoutParams(params);
        listView.requestLayout();
    }

答案 1 :(得分:0)

试试这个,重新排列滚动视图和扩展列表视图的布局位置

<?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:orientation="vertical">

    <LinearLayout
        android:id="@+id/linear_layout_outer"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <include
            android:id="@+id/toolbar"
            layout="@layout/toolbar" />

    </LinearLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.v4.widget.DrawerLayout
            android:id="@+id/drawer_layout"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <FrameLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent" />

            <ScrollView
                android:id="@+id/list_item"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:fillViewport="true">

                <LinearLayout
                    android:id="@+id/line3"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical">

                    <com.daimajia.slider.library.SliderLayout
                        android:id="@+id/slider"
                        android:layout_width="match_parent"
                        android:layout_height="100dp" />

                    <!--        <View
                                android:id="@+id/grad_offer_details_view"
                                android:layout_width="match_parent"
                                android:layout_height="5dp"
                                android:background="@android:color/darker_gray"/>  -->

                    <TextView
                        android:id="@+id/grad_offer_details"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:gravity="center"
                        android:text="Grab Before Time Runs Out"
                        android:textSize="20dp" />


                    <HorizontalScrollView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:scrollbars="none">

                        <LinearLayout
                            android:id="@+id/linear_layout_outer_image01"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:orientation="vertical">

                            <LinearLayout
                                android:id="@+id/linear_layout_inner_image01"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:orientation="horizontal">

                                <LinearLayout
                                    android:id="@+id/line1"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:orientation="vertical"
                                    android:visibility="gone">

                                    <ImageView
                                        android:id="@+id/image01"
                                        android:layout_width="wrap_content"
                                        android:layout_height="wrap_content"
                                        android:src="@drawable/ic_launcher"
                                        android:visibility="gone" />

                                    <TextView
                                        android:id="@+id/text_"
                                        android:layout_width="wrap_content"
                                        android:layout_height="wrap_content"
                                        android:text="Hello"
                                        android:visibility="gone" />

                                    <TextView
                                        android:id="@+id/text__"
                                        android:layout_width="wrap_content"
                                        android:layout_height="wrap_content"
                                        android:text="Hello"
                                        android:visibility="gone" />

                                </LinearLayout>

                            </LinearLayout>

                        </LinearLayout>

                    </HorizontalScrollView>

                    <View
                        android:id="@+id/discount_and_offers_view"
                        android:layout_width="match_parent"
                        android:layout_height="2dp"
                        android:background="#d3d3d3" />
                    <!-- android:background="@android:color/gray" -->
                    <TextView
                        android:id="@+id/discount_and_offers"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:gravity="center"
                        android:text="Discount And Offers"
                        android:textSize="20dp" />

                    <HorizontalScrollView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:scrollbars="none">

                        <LinearLayout
                            android:id="@+id/linear_layout_outer_discount_image01"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:orientation="vertical">

                            <LinearLayout
                                android:id="@+id/linear_layout_inner_discount_image01"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:orientation="horizontal">

                                <LinearLayout
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:orientation="vertical"
                                    android:visibility="gone">

                                    <ImageView
                                        android:id="@+id/discount_image01"
                                        android:layout_width="wrap_content"
                                        android:layout_height="wrap_content"
                                        android:src="@drawable/ic_launcher"
                                        android:visibility="gone" />

                                    <TextView
                                        android:id="@+id/discount_text_"
                                        android:layout_width="wrap_content"
                                        android:layout_height="wrap_content"
                                        android:text="Hello"
                                        android:visibility="gone" />

                                    <TextView
                                        android:id="@+id/discount_text__"
                                        android:layout_width="wrap_content"
                                        android:layout_height="wrap_content"
                                        android:text="Hello"
                                        android:visibility="gone" />

                                </LinearLayout>

                            </LinearLayout>

                        </LinearLayout>

                    </HorizontalScrollView>

                    <View
                        android:layout_width="match_parent"
                        android:layout_height="2dp"
                        android:background="@android:color/darker_gray" />

                    <HorizontalScrollView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:scrollbars="none"
                        android:visibility="gone">

                        <LinearLayout
                            android:id="@+id/linear_layout_outer_mans_image01"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:orientation="vertical"
                            android:visibility="gone">

                            <LinearLayout
                                android:id="@+id/linear_layout_inner_mens_image01"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:orientation="horizontal"
                                android:visibility="gone">

                                <ImageView
                                    android:id="@+id/mens_image01"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:src="@drawable/ic_launcher"
                                    android:visibility="gone" />

                                <TextView
                                    android:id="@+id/mens_text__"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:text="Hello"
                                    android:visibility="gone" />

                                <TextView
                                    android:id="@+id/mens_textPrice_"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:text="Hello"
                                    android:visibility="gone" />

                            </LinearLayout>

                            <LinearLayout
                                android:id="@+id/linear_layout_inner_mens_name01"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:orientation="horizontal">

                                <TextView
                                    android:id="@+id/mens_text"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:text="Hello"
                                    android:visibility="gone" />

                            </LinearLayout>

                            <LinearLayout
                                android:id="@+id/linear_layout_inner_mens_price01"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:orientation="horizontal">

                                <TextView
                                    android:id="@+id/mens_textPrice"
                                    android:layout_width="wrap_content"
                                    android:layout_height="wrap_content"
                                    android:text="Hello"
                                    android:visibility="gone" />

                            </LinearLayout>

                        </LinearLayout>

                    </HorizontalScrollView>

                    <View
                        android:layout_width="match_parent"
                        android:layout_height="5dp"
                        android:background="@android:color/darker_gray" />

                </LinearLayout>

            </ScrollView>

            <ExpandableListView
                android:id="@+id/lvExp"
                android:layout_width="260dp"
                android:layout_height="match_parent"
                android:layout_gravity="start">

            </ExpandableListView>



        </android.support.v4.widget.DrawerLayout>

    </RelativeLayout>
</LinearLayout>