Компонент архитектуры Android (LiveData): как удалить все значения из LiveData после обновления текстового представления
Предположим, я создал переменную mutableLivedata (наблюдатель) и обновил через нее текстовое представление. Теперь я хотел бы очистить значение, которое было отправлено liveata после обновления текстового представления, как если бы я только что создал переменную Livedata и ее новую на начальном этапе, она не имеет значения, Как я могу это сделать?
Спасибо
1 ответ
Вы бы не сделали этого.
Одна из основных причин использования LiveData
чтобы другие компоненты могли наблюдать за содержимым LiveData
,
Так, например, скажем, вы используете LiveData
чтобы отслеживать, сколько раз нажал счетчик. Вы используете TextView
наблюдать это LiveData
так что вы можете отобразить номер счетчика всякий раз, когда LiveData
Обновления.
Это ожидаемое использование LiveData
,
С тем, что вы хотите сделать, в тот момент, когда вы устанавливаете содержимое LiveData
быть пустым, TextView
что наблюдает, что LiveData
также обновится и станет пустым.
Если вы хотите сбросить LiveData
после того, как вы отобразили его значение в TextView
, затем LiveData
не предназначен для того, что вы собираетесь делать.
Просто используя String
было бы проще и эффективнее.
Редактировать:
Но если вы все еще хотите сделать это, пока ваш LiveData
это MutableLiveData
, вы можете использовать setValue()
метод для установки значения по умолчанию.