在RecyclerView顶部设置进度条并在数据加载后删除

2024-03-04

我想要一个加载图标,显示在 RecyclerView 所在位置的顶部,并在数据加载完成后消失

它看起来像:

谁能帮我吗?

我的代码显示 RecyclerView 上方有一个 TextView,上面写着“正在加载...”,并在数据加载后消失,但 RecyclerView 仍然可见。

My XML:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/loaderTV"
    android:text="Loading..."
    android:layout_above="@+id/eventListRV"/>

<android.support.v7.widget.RecyclerView
    android:scrollbars="vertical"
    android:id="@+id/eventListRV"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@+id/spinner">



    </android.support.v7.widget.RecyclerView>

然后在我的代码中

client.listCreators(request, new Callback<ServiceResponse<Event>>() {
            @Override
            public void success(ServiceResponse<Event> eventServiceResponse, Response response) {
                eventList.addAll(eventServiceResponse.data.results);
                Log.i("tag", String.valueOf(eventServiceResponse.data.total));

                if (eventList.size() > 60) {
                    adapter.notifyDataSetChanged();
                    loadingText.setVisibility(View.GONE);
                }
            }

但我希望 RecyclerView 在数据加载时不可见,并且我希望进度条位于 RecyclerView 所在位置的顶部,并且我不希望它成为文本视图


  1. 将 RecyclerView 和加载布局(或 TextView)包装在 FrameLayout 内。将它们都设置为match_parent对于宽度和高度。
  2. 在 Activity 的 onCreate() 或 Fragment 的 onCreateView() 中隐藏 RecyclerView:recyclerView.setVisibility(View.GONE);
  3. 在您的回调方法中隐藏加载布局setVisibility(View.GONE),显示您的 RecyclerViewsetVisibility(View.VISIBLE)并触发适配器的重新加载adapter.notifyDataSetChanged()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在RecyclerView顶部设置进度条并在数据加载后删除 的相关文章

随机推荐