标签: savedstateviewmodelfactory

使用空构造函数构造的 SavedStateViewModelFactory

navigation将组件和版本更新到 2.5.0-alpha01 后,lifecycle viewmodel我遇到了以下问题。

java.lang.RuntimeException:无法启动活动 ComponentInfo{com.atcc.aewp/com.atcc.aewp.activity.SplashActivity}:java.lang.UnsupportedOperationException:使用空构造函数构造的 SavedStateViewModelFactory 仅支持调用 create(modelClass: Class,额外内容:CreationExtras)。

加载视图模型时抛出异常

open class BaseActivity : AppCompatActivity() {

    private val appLanguageViewModel: AppLanguageViewModel by viewModels()

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        appLanguageViewModel.result.observe(this) {
            ...
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的视图模型类

class AppLanguageViewModel : ViewModel() {

    private val languageLiveData = MutableLiveData<Event<ApplicationLanguage>>()

    val result: LiveData<Event<ApplicationLanguage>> = languageLiveData

    fun setLanguage(applicationLanguage: ApplicationLanguage) {
        if (LanguagePreferences.instance().setLanguage(applicationLanguage.name)) {
            languageLiveData.postValue(Event(applicationLanguage))
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

android viewmodel kotlin savedstateviewmodelfactory

8
推荐指数
1
解决办法
3943
查看次数