问题描述
我尝试保留 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 (将#修改为@)