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
。我错过了什么吗?
显然Google文档有错字。应该是
String defaultValue = ...; // nullable
LiveData<String> liveData;
if (defaultValue != null) {
liveData = savedStateHandle.getLiveData(KEY, defaultValue);
} else {
liveData = savedStateHandle.getLiveData(KEY);
}
即getLiveData
,而不只是get
。