包含ListViews时,ScrollView不可滚动

时间:2017-05-09 08:54:39

标签: android listview scroll scrollview

我有一个ScrollView,其中包含一些元素,其余的是两个ListView。每个ListView中的项目数量是限制,我希望它们滚动。但是,我确实希望ScrollView本身可以滚动,并且出于某种原因,它不是。什么是这个问题的好方法?

几乎在我读到的任何地方,它都说我不应该将ListViews放在ScrollView中,但是我需要看起来类似于这个布局的东西,实际上是函数(包括标题,如果相应的列表是空的,它应该会消失反之亦然) -

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/light_gray_real">

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/white"
    android:elevation="15dp">

    <EditText
        android:id="@+id/etSearch"
        android:layout_width="match_parent"
        android:layout_height="45dp"
        android:hint="Search values here"
        android:textCursorDrawable="@null"
        android:paddingStart="10dp"
        android:background="@android:color/transparent"/>

    <ImageButton
        android:id="@+id/btnClear"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end|center"
        android:layout_margin="5dp"
        android:src="@drawable/places_ic_clear"
        android:background="@android:color/transparent"/>
</FrameLayout>


<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:isScrollContainer="true">

        <TextView
            android:id="@+id/tvTitle1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Title 1"
            android:paddingStart="10dp"
            android:paddingTop="2dp"
            android:paddingBottom="2dp"
            android:visibility="gone"/>

        <ListView
            android:id="@+id/listview1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@android:color/white"/>

        <TextView
            android:id="@+id/tvTitle2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Title 2"
            android:paddingStart="10dp"
            android:paddingTop="2dp"
            android:paddingBottom="2dp"
            android:visibility="gone"/>

        <ListView
            android:id="@+id/listview2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@android:color/white"/>
    </LinearLayout>
</ScrollView>

1 个答案:

答案 0 :(得分:1)

由于scrollview和listview不支持嵌套滚动,因此无法使用它们。您可以使用自定义滚动视图或

您可以使用nestedscrollview而不是scrollview和Recyclerview而不是listview。