带有 Koin DI 的 ViewModel SaveStateHandle

问题描述

我尝试保留 viewmodel 数据以防止重新创建活动,但是在 Fragment 的 onCreate() 方法上,我收到以下错误java.lang.IllegalArgumentException:已注册具有给定键的 SavedStateProvider

即使之前从未创建过 viewmodel,它也会在第一次运行应用程序时导致崩溃

这是相关代码

//DI

  viewmodel { (param: String) -> Myviewmodel(param,get(),get()) }

//片段

private lateinit var viewmodel: Myviewmodel

override fun onCreateView(
    inflater: LayoutInflater,container: ViewGroup?,savedInstanceState: Bundle?
): View? {
    super.onCreateView(inflater,container,savedInstanceState)
    viewmodel = getStateviewmodel() { parametersOf(args.param) 
}

//虚拟机

class Myviewmodel: viewmodel()(
    private val param: String,private val savedState: SavedStateHandle,private val service1: Service1,private val service2: Service2
)

有什么帮助吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...