扩展基本活动的Google地图无法使地图片段

时间:2018-05-19 21:14:54

标签: java android google-maps layout-inflater appcompatactivity

我相信在扩展AppCompatActivity时可以将setContentView()设置为地图片段。但是,我需要扩展一个扩展AppCompatActivity的Base Activity。这意味着我需要用容器来扩充我的地图片段。 不幸的是,它每次都抛出这个异常:

引起:android.view.InflateException:二进制XML文件行#7:Class不是View com.google.android.gms.maps.SupportMapFragment

我是否必须选择或有办法解决此问题?

我正在创建一个需要访问地图的应用,同时仍然保留某些功能,例如导航抽屉,因此我有一个基本活动。

2 个答案:

答案 0 :(得分:0)

由于您没有提供代码,我只是在这里猜测,但是您发布的错误可能是您在XML中执行此操作:

Either[A, B]

SupportMapFragment不是一个视图,它是片段,所以你应该使用fragment标签放置它,如下所示:

<com.google.android.gms.maps.SupportMapFragment
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

答案 1 :(得分:0)

对于在迁移到SDK v28之后仍然存在此问题的任何人,以下内容可能会有所帮助:https://stackoverflow.com/a/34798398/4483494

基本上,如果您已在应用程序中定义了清单“ com.google.android.geo.API_KEY”,则应删除“ com.google.android.maps.v2.API_KEY”。