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

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

Спасибо

1 ответ

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

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

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

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

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

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

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

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

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