滚动视图不包含其内容

时间:2012-07-17 09:07:33

标签: android listview scrollview

我遇到了这样的问题:我在它下面有一个MapView和一个ListView。地图大小是固定的。但我需要一起滚动我的观点。我以某种方式处理了非滚动地图和一个迭代列表的问题,但另一个出现了 - 在ScrollView中,ListView下面有很多可用空间,我无法摆脱它。我认为将列表设置为“wrap_content”会有所帮助,但事实并非如此。 该怎么办? 这是我的布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/scrollView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fillViewport="true">

        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <com.package.MyMapView
                     android:layout_width="match_parent"
                     android:layout_height="100dp"
                     android:clickable="true"
                     android:apiKey="key"
                     android:id="@+id/map"
                     android:layout_gravity="top"/>
        <ListView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/channelsList" >

        </ListView>

    </LinearLayout>

    </ScrollView>
</LinearLayout>

3 个答案:

答案 0 :(得分:2)

ScrollView 中包装 ListView 始终不是一个好主意,因为两者都是可滚动的视图。

答案 1 :(得分:1)

您可以尝试更换这些行:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

这些行:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="fill_parent" >

答案 2 :(得分:1)

不要在ScrollView中插入任何ListViews,在任何情况下都不能满足您的要求。尝试将MapView作为标题添加到ListView中,以使其与列表一起滚动。

要将mapView实现为标头,请在java代码中将addHeaderView(<your_map_view>)包含在listView组件中。这必须在调用setAdapter()之前调用。