android listview mapview布局问题

时间:2011-01-10 22:13:40

标签: android listview layout toggle android-mapview

我想要一个布局,以便用户可以在listview和mapview以及菜单按钮点击之间切换。首次创建活动时,它从服务器和显示列表结果中获取数据,并在菜单按钮上单击映射mapview上的所有结果。 我遇到的问题是在用户点击刷新结果菜单按钮后,一次又一次显示加载屏幕。 我的布局如下,活动扩展了MapActivity。当调用notifyDataSetInvalidated()时列表数据可用时,我希望加载视图消失。我在没有mapview的情况下在其他活动中使用了类似的逻辑,并且活动扩展了listactivity并且它可以工作但不是在这种情况下。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    android:orientation="vertical"
    >
    <LinearLayout 
        android:id="@+id/data_view"
        android:layout_width="fill_parent"
        android:layout_height="0dip" 
        android:layout_weight="1"
        >
        <ListView 
            android:id="@android:id/list"
            android:layout_height="fill_parent" 
            android:layout_width="fill_parent"
            android:drawSelectorOnTop="false"
            android:scrollbars="vertical" 
            />
        <com.google.android.maps.MapView
            android:id="@+id/map_view"
            android:layout_height="fill_parent" 
            android:layout_width="fill_parent"
            android:clickable="true" 
            android:visibility="gone"
            android:apiKey="@string/google_maps_api_key"
            />
    </LinearLayout> 
    <LinearLayout
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:gravity="center"
      android:background="@color/white"
      >
      <ProgressBar
        android:id="@+id/emptyProgress"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="6dip"
        style="?android:attr/progressBarStyleSmall" 
        />
      <TextView
        android:id="@+id/emptyText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="@string/loading" 
        />
    </LinearLayout>
</LinearLayout>

1 个答案:

答案 0 :(得分:1)

我决定使用FrameLayout并根据要显示的内容在这3个视图之间切换。