动态绑定Android视图的可见性

时间:2018-09-19 17:26:13

标签: android android-databinding

我有一个使用在线数据库的Android应用程序,当用户第一次使用该应用程序时,将显示一个显示框,说明他们如何添加其第一个数据条目。完成后,将显示条目列表。下次他们启动应用程序时,应该会看到“无条目”显示片刻,直到加载数据,然后显示项目列表

我的问题是将两个视图绑定到显示的数据列表的大小。我已经在布局中创建了list变量:

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

在片段代码中设置绑定:

binding.setList(mList) ;

在布局中的视图上,我有:

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

启动应用程序后,绑定正常工作,但是,将项目添加到列表后,视图的可见性不会改变。

感谢您提供一些意见来解决此问题,谢谢, 席德

1 个答案:

答案 0 :(得分:2)

有几种解决方法:

  1. 要动态更新布局,您应该使用ObservableField
  2. 每次更改变量时,都需要显式设置binding.setList(mList)