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)