Java 使用androidx.fragment.app时的ClassCastException
我正在开发一个利用片段的音乐播放器应用程序,但我注意到,虽然在我的Galaxy S9上没有抛出任何异常,但在我的Galaxy S5 mini上,KitKat aJava 使用androidx.fragment.app时的ClassCastException,java,android,android-fragments,classcastexception,Java,Android,Android Fragments,Classcastexception,我正在开发一个利用片段的音乐播放器应用程序,但我注意到,虽然在我的Galaxy S9上没有抛出任何异常,但在我的Galaxy S5 mini上,KitKat ajava.lang.ClassCastException在主活动启动时抛出。我还尝试了一个API19模拟器,即使在那里也会抛出异常。它似乎是在onStart()内部或之后抛出的,我不太清楚。我自己的观点是,由于异常堆栈跟踪中没有提到我的代码的任何一行,所以它是一个androidx.fragment.applibrary错误 这里是提到的堆
java.lang.ClassCastException
在主活动启动时抛出。我还尝试了一个API19模拟器,即使在那里也会抛出异常。它似乎是在onStart()
内部或之后抛出的,我不太清楚。我自己的观点是,由于异常堆栈跟踪中没有提到我的代码的任何一行,所以它是一个androidx.fragment.app
library错误
这里是提到的堆栈跟踪:
java.lang.ClassCastException: android.view.View cannot be cast to android.view.ViewGroup
at androidx.fragment.app.FragmentTransition.configureTransitionsOrdered(FragmentTransition.java:314)
at androidx.fragment.app.FragmentTransition.startTransitions(FragmentTransition.java:138)
at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1862)
at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1820)
at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManagerImpl.java:1726)
at androidx.fragment.app.FragmentManagerImpl$2.run(FragmentManagerImpl.java:150)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
如果有语法错误,请原谅;我是意大利人,目前正在学校学习英语。似乎您正在将视图的
R.id
传递给您的FragmentTransaction
,而不是视图组的R.id
。您在该设备上使用的布局和您的FragmentTransaction
代码是什么样子的?在FragmentTransaction.add(int,Fragment)
中,我正在传递FrameLayout
的id。这是一个运行时构建的布局,没有xml文件。我得到了完全相同的消息,但不知道它来自哪里。你解决了吗?谢谢。似乎您正在将视图的R.id
传递给您的FragmentTransaction
,而不是视图组的R.id
。您在该设备上使用的布局和您的FragmentTransaction
代码是什么样子的?在FragmentTransaction.add(int,Fragment)
中,我正在传递FrameLayout
的id。这是一个运行时构建的布局,没有xml文件。我得到了完全相同的消息,但不知道它来自哪里。你解决了吗?谢谢