使用v4 Fragment的Google的SupportMapFragment类型转换异常

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (60)

不可转换的类型; 无法将'android.support.v4.app.Fragment'投射到'com.google.android.gms.maps.SupportMapFragment'

我为谷歌地图集成创建了新项目,还有(在正在进行的项目中首次尝试)编辑器中的相同类型转换异常。已经看过很多其他类似的问题,但是那些用于带有SupportMapFragment的android.app.Fragment的类型转换异常,甚至他们接受的答案是使用android.support.v4.app.Fragment和SupportMapFragment来解决错误,但在我的情况下,这同样给了我一个错误。(所以这可能看似重复,但相反不是。)。请为此建议解决方案。

提问于
用户回答回答于

经过一次深潜,发现在我的情况下,SupportMapFragment延伸Fragment属于Jetpack的 androidx包装

AppCompatActivitygetSupportFragmentManager().findFragmentById(id)方法返回Fragment,所有这些都属于传统android包。

androidxandroid根据文档,package 与包完全不同但并行

AndroidX将原始支持库API包映射到androidx命名空间。只有包和Maven工件名称发生了变化; 类,方法和字段名称没有改变。

所以,我得到了类型转换异常,如下面的声明:

SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
                .findFragmentById(R.id.map);

例外:

不可转换的类型; 无法将'android.support.v4.app.Fragment'投射到'com.google.android.gms.maps.SupportMapFragment'

为了解决此问题,我需要将现有项目迁移到androidx

热门问答

数据万象持久化在JavaScript SDK中的问题?

可以的,有Domain参数。请参考:https://github.com/tencentyun/cos-js-sdk-v5/blob/master/csp/csp.html#L56

有谁用unity 3d 实现过对象的上传储存和者下载?

我不是米

腾讯 · 工程师 (已认证)

对象存储工程师
推荐

请正确填写bucket参数,bucket参数里面不要带上-appid

cos.sliceUploadFile支持断点续传吗?

如果用的是 cos-js-sdk,那么 cos.restartTask 是会断点续传的,用法没有问题。 PS: sdk 使用可以参考 demo.js https://github.com/tencentyun/cos-js-sdk-v5/blob/master/demo/demo...... 展开详请

使用独立H5接入人脸核身,在微信浏览器拍摄视频按钮无法点击?

旺仔小小鹿

社区 · 运营 (已认证)

Less is more
推荐

使用iframe会有问题 ,微信有限制,不允许使用iframe调用jsapi摄像头 ,微信里,不能用iframe

ios应该都不行的,安卓需要看是什么浏览器。

云服务器中ping不可达,请教一下如何恢复?

推荐已采纳
本地主机 ping 不通实例可能由以下问题导致: 目标服务器的设置不正确 域名没有正确解析 链路故障 在确保本地网络正常的前提下(即您可以正常 ping 通其他网站),可根据以下操作进行排查: 检查实例是否配置公网 IP 检查安全组设置 检查系统设置 检查域名是否备案 检查域名解...... 展开详请

为什么加固之后生成四个文件?

腾讯云@移动安全

腾讯 · 移动开发工程师 (已认证)

腾讯云移动安全前端开发
推荐

选择最后一个_legu_aligned_signed.apk 文件,这个是加固并已重签名的文件。

所属标签

扫码关注云+社区

领取腾讯云代金券