我希望有一个加载图标显示在RecyclerView的顶部,并在数据加载完成后消失
它看起来像:
谁能帮我吗?
我的代码显示了RecyclerView上方的TextView,显示“正在加载…”并在加载数据后消失,但RecyclerView仍然可见.
我的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所在的进度条上面,我不希望它成为textview
解决方法
>在RecycLayout中包装您的RecyclerView和加载布局(或TextView).将宽度和高度设置为match_parent. >在您的活动的onCreate()或片段的onCreateView()中隐藏RecyclerView:recyclerView.setVisibility(View.GONE); >在回调方法中,使用setVisibility(View.GONE)隐藏加载布局,使用setVisibility(View.VISIBLE)显示您的RecyclerView并使用adapter.notifyDataSetChanged()触发适配器的重新加载