gpt4 book ai didi

android - DialogFragment 中的 getViewLifecycleOwner() 导致崩溃

转载 作者:太空宇宙 更新时间:2023-11-03 10:33:07 29 4
gpt4 key购买 nike

我为此使用了 DialogFragment (onCreateDialog) 和 ViewModel。但是,当我尝试将 getViewLifecycleOwner() 传递给 LiveData::observe 方法时,出现以下错误:

java.lang.IllegalStateException: Can't access the Fragment View's LifecycleOwner when getView() is null i.e., before onCreateView() or after onDestroyView().

是否可以在 DialogFragment 中使用 getViewLifecycleOwner()

最佳答案

发生这种情况是因为 DialogFragment 的创建方式。如果您使用 onCreateDialog(),则此类 Fragment 的生命周期会略有不同。 onCreateView() 将不会被使用,因此该 Fragment 的 viewLifecycleOwner 将不会被初始化。

作为解决此问题的方法,您可以使用 Fragment 实例作为观察者的所有者:.observe(this, Observer {...}。尽管使用 this 而不是 viewLifecycleOwner 会收到警告。

关于android - DialogFragment 中的 getViewLifecycleOwner() 导致崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54766112/

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