Динамическое связывание видимости представления Android - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть приложение Android, которое использует онлайн-базу данных, когда пользователь впервые использует приложение, отображается экран, описывающий, как они добавляют свой первый ввод данных.Как только они это сделают, отобразится список записей.В следующий раз, когда они запустят приложение, они должны будут на мгновение увидеть экран «Нет записей», пока данные не будут загружены, а затем список элементов

Моя проблема - привязка двух представлений к размеру отображаемогосписок данных.Я создал список переменных в макете:

<variable name="list" type="java.util.List" />

И в коде фрагмента привязка установлена:

binding.setList(mList) ;

И на представлениях в макете у меня есть:

android:visibility="@{list.size() == 0 ? View.GONE : View.VISIBLE}"

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

Я был бы признателен за некоторые материалы, чтобы решить эту проблему, спасибо,Sid

1 Ответ

0 голосов
/ 19 сентября 2018

Есть несколько способов решить эту проблему:

  1. Для динамического обновления макета вы должны использовать ObservableField
  2. Каждый раз, когда ваша переменная была изменена, вынужно установить явно binding.setList(mList)
...