我相信在扩展AppCompatActivity时可以将setContentView()设置为地图片段。但是,我需要扩展一个扩展AppCompatActivity的Base Activity。这意味着我需要用容器来扩充我的地图片段。 不幸的是,它每次都抛出这个异常:
引起:android.view.InflateException:二进制XML文件行#7:Class不是View com.google.android.gms.maps.SupportMapFragment
我是否必须选择或有办法解决此问题?
我正在创建一个需要访问地图的应用,同时仍然保留某些功能,例如导航抽屉,因此我有一个基本活动。
答案 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”。