如何使用android数据绑定设置SwipeRefreshLayout刷新属性?
作者:互联网
我正在使用android数据绑定库.
如果我想让视图可见,我可以写这样的东西:
<TextView
android:id="@+id/label_status"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@{habitListViewModel.message}"
app:visibility="@{habitListViewModel.hasError ? View.VISIBLE : View.GONE}" />
是否有以类似(xml)方式绑定到swipeRefreshLayout的刷新属性的选项?
目前我通过调用setRefreshing(true / false)在代码中设置它,但是希望在xml中使它保持一致.
解决方法:
更新:
由于数据绑定映射从xml属性名称到set {AttributeName},你可以使用app:refresh,因为数据绑定将成功地为swipeRefreshLayout的setRefreshing方法提供值(幸运的是我们存在且是公共的):
<android.support.v4.widget.SwipeRefreshLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:refreshing="@{habitListViewModel.isLoading}">
...
//ListView,RecyclerView or something
</android.support.v4.widget.SwipeRefreshLayout>
而已!请注意,您只需使用@ {true}或@ {false}而不是@ {habitListViewModel.isLoading}.希望有所帮助.
标签:android,android-layout,data-binding,swiperefreshlayout 来源: https://codeday.me/bug/20191004/1853324.html