LiveData的ViewModel SavedStateHandler.get无法根据文档设置默认值吗?

问题描述 投票:0回答:1

https://developer.android.com/reference/androidx/lifecycle/SavedStateHandle#getLiveData(java.lang.String,%20T)

Java中的示例代码如下。

 String defaultValue = ...; // nullable
 LiveData<String> liveData;
 if (defaultValue != null) {
     liveData = savedStateHandle.get(KEY, defaultValue);
 } else {
     liveData = savedStateHandle.get(KEY);
 }

但是,我注意到在尝试编译代码时,以下语句无法编译。

savedStateHandle.get(KEY, defaultValue);

错误指出

get(String) in SavedStateHandle cannot be applied to (String, java.lang.String).

我跟踪代码,似乎savedStatehandle没有使用默认值的get。我错过了什么吗?

android android-livedata android-architecture-components android-savedstate
1个回答
0
投票

显然Google文档有错字。应该是

 String defaultValue = ...; // nullable
 LiveData<String> liveData;
 if (defaultValue != null) {
     liveData = savedStateHandle.getLiveData(KEY, defaultValue);
 } else {
     liveData = savedStateHandle.getLiveData(KEY);
 }

getLiveData,而不只是get

© www.soinside.com 2019 - 2024. All rights reserved.