Pav*_*tra 21 android google-maps android-fragments google-maps-android-api-2 androidx
import com.google.android.gms.maps.SupportMapFragment;
import androidx.fragment.Fragment;
...
private SupportMapFragment mMapFragment;
...
mMapFragment = (SupportMapFragment) form.getSupportFragmentManager().findFragmentByTag(MAP_FRAGMENT_TAG);
Run Code Online (Sandbox Code Playgroud)
这里,IDE显示androidx.fragment.Fragment无法强制转换为SupportMapFragment(扩展android.support.v4.app.Fragment)的错误
我使用的是play-services-maps的15.0.1版和AndroidX库的1.0.0-beta01版.
在发布说明中我没有在AndroidX之后找到SupportMapFragment的任何更新:https://developers.google.com/maps/documentation/android-sdk/releases
编辑:在任何人问之前,form是一个Form扩展的类的实例AppCompatActivity(来自AndroidX)
xom*_*ena 13
Google已在公共问题跟踪器中报告此问题:
https://issuetracker.google.com/issues/110573930
我建议在公共问题跟踪器中主演功能请求,以添加您的投票并订阅来自Google的进一步通知.希望Google能够在下一版Android Maps SDK中实现它.
Google在公共问题跟踪器中提供了以下答案
大家好,
如前所述,Google Maps API目前基于支持库而非AndroidX.Google Maps API的未来版本肯定会支持AndroidX,但与此同时,以下解决方法将为您解决此问题:
- 使用Android Studio 3.2(当前预览)或更高版本
- 确保build.gradle包含'compileSdkVersion 28'(新AS 3.2项目的默认值)
在gradle.properties文件中包含以下内容(新AS 3.2项目的默认值)
android.useAndroidX =真
android.enableJetifier =真
最后,对于引用支持库的现有代码,您可以使用Android Studio 3.2+中的"Refactor - > Refactor to AndroidX"工具自动转换代码以使用新的AndroidX软件包.
Mar*_*ini 13
我遇到了同样的问题,通过将所有导入更新到build.gradle文件中可用的最后一个版本并添加来解决
android.enableJetifier=true
android.useAndroidX=true
Run Code Online (Sandbox Code Playgroud)
到gradle.properties
这是我导入的地图包的版本
implementation 'com.google.android.gms:play-services-maps:15.0.1'
Run Code Online (Sandbox Code Playgroud)
你只需要修复一些导入然后就完成了
我希望
编辑:即使编辑我刚才说的,你仍然会有java中显示的错误,但它编译并运行没有错误
EDIT2:昨天他们建议在issuetracker https://issuetracker.google.com/issues/110573930#comment13上找到解决方法
小智 5
最后,这是一个完美的答案:
添加
android.enableJetifier=true
android.useAndroidX=true
Run Code Online (Sandbox Code Playgroud)
到您的 gradle.properties 文件。
对于 Android Studio 3.2 或更高版本,通过从菜单中选择Refactor > Migrate to AndroidX将您的项目迁移到 AndroidX。
(最重要)您的一些项目导入(在类中使用)将需要替换为等效的 AndroidX 库。在这里您可以找到库及其等效项。一一替换任何引用 AndroidX 之前的库的导入。
现在你可以走了:-)
小智 5
我通过在我的应用程序build.gradle文件中实现最新版本的 play-services-maps 解决了这个问题:
implementation 'com.google.android.gms:play-services-maps:17.0.0'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8577 次 |
| 最近记录: |