注意:我不想使用MapFragment,因为我需要覆盖MapView内的方法!
我使用以下代码显示我的MapView:
mapView = (MapView) view.findViewById(R.id.map);
mapView.onCreate(null);
mapView.onResume();
使用这个xml:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<com.google.android.gms.maps.MapView.MapView
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent" />
...
</RelativeLayout>
这很有效。但我必须将我的项目导出为jar(封闭源代码),所以我不能再使用xml布局了,对吗?
因为我的布局非常简单,所以我可以在代码中手动创建它。 所以现在我正在使用它:
mapView = new MapView(context);
mapView.setLayoutParams(
new LayoutParams(
LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT
)
);
view.addView(mapView);
mapView.onCreate(null);
但是我在onCreate语句中得到了NullPointerException。
我做错了什么?
答案 0 :(得分:0)
<?xml version="1.0" encoding="utf-8"?>
<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="match_parent"
tools:context=".GeoPosActivity"
android:orientation="vertical" >
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/myLocationText"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:text="TEST"
android:layout_weight="50"
/>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/myMapView"
android:name="com.google.android.gms.maps.MapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:enabled="true"
android:clickable="true"
android:layout_weight="50"/>
</LinearLayout>
我用它是我的应用程序。它有效,
为什么要使用“.jar”?为了测试您的应用程序使用Android设备是最好的。