【发布时间】:2018-10-09 18:53:03
【问题描述】:
我有一个 android 应用程序,如果 List 为空,它会向用户显示一个屏幕以输入数据,否则它会在 recyclerview 中显示 List。
当应用第一次启动时,它工作正常。必须从在线数据库中读取数据,以便显示空列表文本,直到加载数据并显示列表。如果我使用应用程序从数据库中删除条目,则列表大小变为零,但未显示空列表,Recyclerview 仍然可见(但由于列表为空,所以为空。
空文本视图的绑定是:
android:visibility="@{list.size() == 0 ? View.VISIBLE : View.GONE}"
对于回收站视图是:
android:visibility="@{list.size() == 0 ? View.GONE : View.VISIBLE}"
列表使用以下方式绑定:
binding.setList(mList) ;
正如我所说的应用程序的启动工作,所以我不明白为什么让列表变空也不起作用。
任何指针将不胜感激。
【问题讨论】:
-
您每次更改列表后都会调用
binding.setList(mList)吗? -
由于您没有在 xml
android:visibility="@{list.size() == 0 ? View.GONE : View.VISIBLE}"中使用 Observable 对象,因此您需要在每次更新列表时调用binding.setList(mList) ;(当您第一次从服务器获取以及删除项目时) . -
是的,我在更新列表时调用 binding.setList(mList)。
标签: android data-binding