Компонент архитектуры Android (LiveData): как удалить все значения из LiveData после обновления текстового представления - PullRequest
0 голосов
/ 25 февраля 2019

предположим, что я создал переменную mutableLivedata (наблюдатель) и обновил через нее текстовое представление, теперь я хотел бы очистить значение, которое было отправлено liveata после обновления текстового представления, как если бы я только что создал переменную Livedata и ее свежую на начальном этапе онане имеет значения.Как я могу это сделать?

Спасибо

1 Ответ

0 голосов
/ 25 февраля 2019

Вы бы этого не делали.

Одна из основных причин использования LiveData состоит в том, чтобы другие компоненты могли наблюдать содержимое LiveData.

Так, например, допустим, вы используете LiveData для отслеживания того, сколько раз нажат счетчик.Вы используете TextView для наблюдения LiveData, чтобы вы могли отображать номер счетчика при каждом обновлении LiveData.

Это ожидаемое использование LiveData.

С тем, что вы хотите сделать, в тот момент, когда вы устанавливаете содержимое LiveData пустым, TextView, который наблюдает, что LiveData также обновится и станет пустым.

Если вы хотите сбросить LiveData после отображения его значения в TextView, тогда LiveData не предназначено для того, что вы собираетесь делать.

Простое использование String будет проще и эффективнее.

Редактировать:

Но если вы все еще хотите это сделать, пока ваш LiveData является MutableLiveData, вы можете использовать метод setValue() для установки значения по умолчанию.

...