我有一个使用ViewFlipper的布局,可以在整个应用中始终显示标签栏。
主要活动扩展了TabActivity。对于我的一个观点,我想要一个mapview,我尝试过这段代码没有成功:
<ViewFlipper android:id="@+id/layout_tab_one"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<ListView android:id="@+id/listview"
android:layout_width="fill_parent" android:layout_height="wrap_content" />
<com.google.android.maps.MapView
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:apiKey="myapikey">
</com.google.android.maps.MapView>
<ListView android:id="@+id/lazylistview"
android:layout_width="fill_parent" android:layout_height="wrap_content" />
<include android:id="@+id/cell1" layout="@layout/detail" />
<ListView android:id="@+id/listview2"
android:layout_width="fill_parent" android:layout_height="wrap_content" />
</ViewFlipper>
应用程序在启动时崩溃。我已将谷歌地图的用户库放入清单中,我也使用Google API运行应用程序,但仍然没有运气。 有什么建议? 谢谢!
答案 0 :(得分:0)
您的设备或模拟器没有Google地图,或者您可能正在使用MapActivity
之外的其他内容来扩充此布局。
答案 1 :(得分:0)
请在初始化ViewFlipper的活动中使用extends FragmentActivity
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<RelativeLayout
android:id="@+id/RelativeLayout02"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ViewFlipper
android:id="@+id/flipper"
android:layout_width="fill_parent"
android:layout_height="400dp" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
</ViewFlipper>
</RelativeLayout>
</LinearLayout>
并使用以下代码
int checkGooglePlayServices = GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext());
if (checkGooglePlayServices != ConnectionResult.SUCCESS) {
GooglePlayServicesUtil.getErrorDialog(checkGooglePlayServices, (Activity) context, 1122).show();
return;
}