【问题标题】:What type of Application does SavedStateViewModelFactory requiresSavedStateViewModelFactory 需要什么类型的Application
【发布时间】:2019-08-12 20:54:47
【问题描述】:

我正在尝试将某些文本的状态保存到我的主要活动中,我创建了一个工厂,它传递一个依赖项作为我的视图模型的构造函数以及 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)
            }
        }

然后在我的实例中我想像这样实例化我的 ViewModel

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

在我不知道的文档中是否有一些我没有关注的内容?

谢谢

【问题讨论】:

    标签: android kotlin mvvm viewmodel android-savedstate


    【解决方案1】:

    您可以使用

    获取应用程序实例
    val app = context.applicationContext as Application
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-07
      • 2021-08-23
      • 2015-12-23
      • 2011-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-02
      相关资源
      最近更新 更多