ViewModel SavedStateHandler.get для LiveData не может установить значение по умолчанию в соответствии с документом? - PullRequest
1 голос
/ 12 апреля 2020

Применительно к 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, который принимает значение по умолчанию. Я что-то пропустил?

1 Ответ

1 голос
/ 12 апреля 2020

Видимо, в документе Google есть опечатка. Он должен быть

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

, то есть getLiveData вместо get.

...