RecyclerView设置空数据视图
来源:互联网 发布:ltp1是什么端口 编辑:程序博客网 时间:2024/04/28 01:38
前言
我们在使用ListView的时候,如果现在没有数据,通过设置setEmptyView()
来展示一个空数据视图,但是RecyclerView并没有这样的方法可以使用,那么如果给RecyclerView添加这一功能,下边给出实现方案!
方案
直接上代码:
public class RecyclerViewForEmpty extends RecyclerView { private View emptyView; private AdapterDataObserver observer = new AdapterDataObserver() { @Override public void onChanged() {//设置空view原理都一样,没有数据显示空view,有数据隐藏空view Adapter adapter = getAdapter(); if (adapter.getItemCount() == 0) { emptyView.setVisibility(VISIBLE); RecyclerViewForEmpty.this.setVisibility(GONE); } else { emptyView.setVisibility(GONE); RecyclerViewForEmpty.this.setVisibility(VISIBLE); } } @Override public void onItemRangeChanged(int positionStart, int itemCount) { onChanged(); } @Override public void onItemRangeChanged(int positionStart, int itemCount, Object payload) { onChanged(); } @Override public void onItemRangeInserted(int positionStart, int itemCount) { onChanged(); } @Override public void onItemRangeRemoved(int positionStart, int itemCount) { onChanged(); } @Override public void onItemRangeMoved(int fromPosition, int toPosition, int itemCount) { onChanged(); } }; public RecyclerViewForEmpty(Context context) { super(context); } public RecyclerViewForEmpty(Context context, @Nullable AttributeSet attrs) { super(context, attrs); } public void setEmptyView(View view) { this.emptyView = view; ((ViewGroup) this.getRootView()).addView(view); } @Override public void setAdapter(Adapter adapter) { super.setAdapter(adapter); adapter.registerAdapterDataObserver(observer); observer.onChanged(); }}
阅读全文
1 5
- RecyclerView设置空数据视图
- 支持设置数据为空时打底view的RecyclerView+支持RecyclerView的CursorAdapter
- Android之RecyclerView之空数据提示
- Android之RecyclerView之空数据提示
- xib创建的空视图 加载的时候 设置大小
- 如何清空并更新ListCtrl列表视图中的数据
- 视图为空字段,整条数据显示为null
- RecyclerView 报空指针
- recyclerView 多条目视图
- android 视图设置多个setTag数据
- android RecyclerView 频繁设置数据闪退问题
- listview设置数据为空时显示数据
- 新视图RecyclerView(一)
- CRichEdit设置只读属性时数据的清空
- 设置listview的数据为空时的提示
- SAP物料主数据_基本视图设置1
- SAP物料主数据_销售视图设置
- SAP物料主数据_采购视图设置
- Java中Native方法
- Memcahed分布式缓存案例-
- Linux系统CPU的性能监控及调优
- Fragment基础知识
- MySQL的几个概念:主键,外键,索引,唯一索引
- RecyclerView设置空数据视图
- js中数据的显式转换与隐式转换
- 企业网站模板建站应选择什么样的CMS?
- NAT技术与代理服务器
- 逻辑回归
- mysql存储引擎的介绍和选择
- 使用函数输出一个整数的逆序数
- Tomcat利用MSM实现Session共享方案
- 关于C++托管和非托管