Android 视图可见性的动态绑定

Dynamic binding of Android view visibility

我有一个使用在线数据库的 Android 应用程序,当用户第一次使用该应用程序时,会显示一个描述他们如何添加第一个数据条目的显示。一旦他们这样做,就会显示条目列表。下次他们启动应用程序时,他们应该会看到 "no entries" 显示片刻,直到加载数据,然后是项目列表

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

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

并且在片段代码中设置了绑定:

binding.setList(mList) ;

关于布局中的视图,我有:

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

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

我希望能提供一些意见来解决这个问题,谢谢, 席德

有几种方法可以解决这个问题:

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