其他分享
首页 > 其他分享> > 如何使用android数据绑定设置SwipeRefreshLayout刷新属性?

如何使用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