SavedStateViewModelFactory 需要什么类型的应用程序



我正在尝试将某些文本的状态保存到我的主活动中,我创建了一个工厂,该工厂将一个依赖项作为我的视图模型的构造函数传递,并且还传递了SavedStateViewModelFactory,以保存该文本的状态。

但是我不能只用所有者上下文来做一个实例,它也需要应用程序,而且我真的不知道如何传递它,因为我的应用程序中没有。

class ViewModelFactory(val interactor: InteractorClass,val context:Context):ViewModelProvider.Factory {
val stateHandle = SavedStateViewModelFactory(context)
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
return modelClass.getConstructor(InteractorClass::class.java).newInstance(interactor,stateHandle)
}
}

然后在我的实例中,我想像这样实例我的视图模型

ViewModelProviders.of(this,ViewModelFactory(InteractorClass(),this)).get(MyViewModel::class.java)

文档中是否有我不知道的内容?

谢谢

您可以使用以下应用程序实例

val app = context.applicationContext as Application

相关内容

  • 没有找到相关文章

最新更新