gpt4 book ai didi

android - 使用撰写 View 从 fragment 导航回来时崩溃

转载 作者:行者123 更新时间:2023-12-04 23:48:54 24 4
gpt4 key购买 nike

时间线 fragment

class TimelineFragment : Fragment() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

val axis = MaterialSharedAxis.Z

val forward = MaterialSharedAxis(axis, true)
val backward = MaterialSharedAxis(axis, false)

enterTransition = forward
exitTransition = forward
reenterTransition = backward
returnTransition = backward
}

override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
) = ComposeView(requireActivity()).apply {
setContent {
Text(text = "Testing")
}
}
}
从该 fragment 单击后退按钮时,应用程序崩溃并打印此堆栈跟踪
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.farmersbyte.agripro, PID: 8524
java.lang.UnsupportedOperationException: Cannot add views to ComposeView; only Compose content is supported
at androidx.compose.ui.platform.AbstractComposeView.checkAddView(ComposeView.android.kt:202)
at androidx.compose.ui.platform.AbstractComposeView.addView(ComposeView.android.kt:346)
at androidx.transition.TransitionUtils.createViewBitmap(TransitionUtils.java:138)
at androidx.transition.TransitionUtils.copyViewImage(TransitionUtils.java:64)
at androidx.transition.Visibility.onDisappear(Visibility.java:404)
at androidx.transition.Visibility.createAnimator(Visibility.java:257)
at androidx.transition.Transition.createAnimators(Transition.java:744)
at androidx.transition.TransitionSet.createAnimators(TransitionSet.java:480)
at androidx.transition.TransitionSet.createAnimators(TransitionSet.java:480)
at androidx.transition.Transition.playTransition(Transition.java:1808)
at androidx.transition.TransitionManager$MultiListener.onPreDraw(TransitionManager.java:300)
at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:1088)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2745)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1721)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7598)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:966)
at android.view.Choreographer.doCallbacks(Choreographer.java:790)
at android.view.Choreographer.doFrame(Choreographer.java:725)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:951)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
使用 jetpack 导航组件进行 fragment 导航。仅在使用 MaterialSharedAxis 后按时才会发生崩溃 fragment 的过渡集。
编辑:撰写中没有问题 1.0.1但在版本 1.1.0 中出现崩溃以上。

最佳答案

我遇到过同样的问题。如果你有 Fragment A 和 B. Fragment A 有 exitTransition 设置,当从 A 导航到 B 时,它会因错误而崩溃。所以我的解决方法是删除exitTransition。认为这是新撰写库中的错误。我只在升级到最新版本时才看到这个问题:compose.* 1.1.1 和 compose.compiler 1.2。

关于android - 使用撰写 View 从 fragment 导航回来时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72472315/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com