Kotlin java.lang.IllegalStateException:在中找不到ViewTreeLifecycleOwnerDecorView@5ab7e30[主要活动]
我遵循文档,将一个ComposeView直接包含在一个片段中,而不使xml布局膨胀,但它给出了java.lang.IllegalStateException 请帮我解决这个问题 安卓工作室:2020.3.1金丝雀14 撰写版本:'1.0.0-beta01' 这是Fragment的代码:Kotlin java.lang.IllegalStateException:在中找不到ViewTreeLifecycleOwnerDecorView@5ab7e30[主要活动],kotlin,android-fragments,android-jetpack,illegalstateexception,android-jetpack-compose,Kotlin,Android Fragments,Android Jetpack,Illegalstateexception,Android Jetpack Compose,我遵循文档,将一个ComposeView直接包含在一个片段中,而不使xml布局膨胀,但它给出了java.lang.IllegalStateException 请帮我解决这个问题 安卓工作室:2020.3.1金丝雀14 撰写版本:'1.0.0-beta01' 这是Fragment的代码: class RecipeListFragment : Fragment() { private lateinit var viewModel: RecipeListViewModel override fun
class RecipeListFragment : Fragment() {
private lateinit var viewModel: RecipeListViewModel
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View {
return ComposeView(requireContext()).apply {
setContent {
Column(
modifier = Modifier
.padding(16.dp)
) {
Text(
text = "Recipe List",
style = MaterialTheme.typography.h3
)
}
}
}
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
viewModel = ViewModelProvider(this).get(RecipeListViewModel::class.java)
}
}
这是运行时错误:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.mvvmrecepiapp, PID: 18722
java.lang.IllegalStateException: ViewTreeLifecycleOwner not found from DecorView@5ab7e30[MainActivity]
at androidx.compose.ui.platform.WindowRecomposer_androidKt.createLifecycleAwareViewTreeRecomposer(WindowRecomposer.android.kt:214)
at androidx.compose.ui.platform.WindowRecomposer_androidKt.access$createLifecycleAwareViewTreeRecomposer(WindowRecomposer.android.kt:1)
at androidx.compose.ui.platform.WindowRecomposerFactory$Companion$LifecycleAware$1.createRecomposer(WindowRecomposer.android.kt:97)
at androidx.compose.ui.platform.WindowRecomposerPolicy.createAndInstallWindowRecomposer$ui_release(WindowRecomposer.android.kt:152)
at androidx.compose.ui.platform.WindowRecomposer_androidKt.getWindowRecomposer(WindowRecomposer.android.kt:200)
at androidx.compose.ui.platform.AbstractComposeView.ensureCompositionCreated(ComposeView.android.kt:200)
at androidx.compose.ui.platform.AbstractComposeView.onAttachedToWindow(ComposeView.android.kt:235)
at android.view.View.dispatchAttachedToWindow(View.java:19553)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3430)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3437)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3437)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3437)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3437)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3437)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3437)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3437)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3437)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2028)
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)
更新:
这是我的build.gradle(:app)
AppCompat版本1.3.0中引入了对ViewTreeLifecycleOwner的支持 目前,最新的AppCompat版本是
implementation 'androidx.appcompat:appcompat:1.3.0'
请以文本而不是图像的形式发布错误。发布您的
build.gradle
和Dependencies是否使用androidx。appcompat:appcompat:1.3.0-beta01?@khanumer尝试appcompat:1.3.0-Beta01Wesome@GabrieleMariotti谢谢,appcompat:1.3.0-cr01工作正常
implementation 'androidx.appcompat:appcompat:1.3.0'