我刚刚将Android Studio更新到版本3.2并按照说明使用androidx.
我一直在Fragment活动中使用Youtube片段,一切都运行得很好但是,在更新之后,这3条简单的行现在给我错误"无法解析方法'添加(...)'":
YouTubePlayerSupportFragment youTubePlayerFragment = YouTubePlayerSupportFragment.newInstance();
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
transaction.add(R.id.youtube_fragment, youTubePlayerFragment).commit();
Run Code Online (Sandbox Code Playgroud)
...当我尝试使用"替换"而不是"添加"时,它说:"错误的第二个参数类型.发现:'com.google.android.youtube.player.YouTubePlayerSupportFragment',必需:'androidx.fragment.app .分段'"
...这让我觉得问题与新的AndroidX功能有关.
问题是add方法需要第二个类型的参数:
androidx.fragment.app.Fragment
Run Code Online (Sandbox Code Playgroud)
...但是YouTubePlayerSupportFragment会返回:
android.support.v4.app.Fragment
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解决这个问题?有没有办法将"android.support.v4.app.Fragment"强制转换为"androidx.fragment.app.Fragment"?
我刚刚发现 Firebase 有一些很奇怪的东西,我想知道是我做错了什么,或者是否有解决这个问题的方法。
基本上,这就是我在开发应用程序时一直写的内容(这正是我所期望的):
nscoachtools@gmail¸com
maxMatches: 60
maxPlayers: 500
maxTeams: 30
userId: "SnMuRZEVqyN***...***hv2"
userMail: "nscoachtools@gmail.com"
userName: "Nicola Salvaro"
userPicture: "https://lh4.googleusercontent.com/-L7lSPz0VJ9A/..."
userToken: -1
这是我在发布模式下构建应用程序后所写的内容:
nsalvaro77@gmail¸com
a: "Nicola Salvaro"
b: "ESjqwuh***...***wg1"
c: "nsalvaro77@gmail.com"
d: "https://lh4.googleusercontent.com/-2kwSEmLEN1c/..."
e: -2
f: 30
g: 500
h: 60
userToken: 1499775285255
每个“标题”都被一个字母代替。而 "e: " 应该是 "userToken: " 然后,当我尝试更新它时,它用正确的字符串写了它,但不是在原始值的顶部......只是写了一个新的。然后,当我尝试读取完整用户时,它会获得“e:”的值,而不是“userToken:”的值。
我做错什么了吗?