我的应用程序中有一个侧抽屉。当我单击地图选项时,应用程序在执行Intent时崩溃。最初,我创建了一个地图应用程序作为一个单独的项目,它运行得很好,这意味着API-KEY没有问题
MainActivity.class
case 2:
Intent intent = new Intent(MainActivity.this,MapsActivity.class);
MainActivity.this.startActivity(intent);
break;
MapsActivity.class
public class MapsActivity extends FragmentActivity {
private GoogleMap mMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// the following line crashes
setContentView(R.layout.activity_maps);
setUpMapIfNeeded();
}
activity_maps.xml
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:map="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent"
android:layout_height="match_parent" android:id="@+id/map" tools:context=".MapsActivity"
android:name="com.google.android.gms.maps.SupportMapFragment" />
这是LogCat:
java.lang.RuntimeException:无法启动活动 ComponentInfo {com.example.xxx.xxxx / com.example.xxx.xxxx.MapsActivity}: android.view.InflateException:二进制XML文件行#1:错误 膨胀类片段
答案 0 :(得分:0)
你在布局中忘记了你的class属性,在片段
中添加了这个class="com.google.android.gms.maps.SupportMapFragment"
答案 1 :(得分:0)
将视图添加到setContentView()
时,您必须为视图充气。
View view = inflater.inflate(R.layout. activity_maps, null, false);
setContentView(view);
setUpMapIfNeeded();
如果它不起作用,请检查this项目是否需要更多信息。我上传了一个基于抽屉的位置应用
答案 2 :(得分:0)
检查AndroidManifest.xml文件是否包含此元信息:
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_maps_key" />
或
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
根据此link(第2步),Google Play服务包应添加到Android Studio;为此,您必须将其添加到AndroidManifest.xml