EmptyRecyclerView 数据为空时显示指定view
来源:互联网 发布:2014matlab中对角矩阵 编辑:程序博客网 时间:2024/06/08 01:29
public class EmptyRecyclerView extends RecyclerView { private View emptyView; private static final String TAG = "EmptyRecyclerView"; final private AdapterDataObserver observer = new AdapterDataObserver() { @Override public void onChanged() { checkIfEmpty(); } @Override public void onItemRangeInserted(int positionStart, int itemCount) { checkIfEmpty(); } @Override public void onItemRangeRemoved(int positionStart, int itemCount) { checkIfEmpty(); } }; public EmptyRecyclerView(Context context) { super(context); } public EmptyRecyclerView(Context context, AttributeSet attrs) { super(context, attrs); } public EmptyRecyclerView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } private void checkIfEmpty() { if (emptyView != null && getAdapter() != null) { final boolean emptyViewVisible = getAdapter().getItemCount() == 0; emptyView.setVisibility(emptyViewVisible ? VISIBLE : GONE); setVisibility(emptyViewVisible ? GONE : VISIBLE); } } @Override public void setAdapter(Adapter adapter) { final Adapter oldAdapter = getAdapter(); if (oldAdapter != null) { oldAdapter.unregisterAdapterDataObserver(observer); } super.setAdapter(adapter); if (adapter != null) { adapter.registerAdapterDataObserver(observer); } checkIfEmpty(); } public void setEmptyView(View emptyView) { this.emptyView = emptyView; checkIfEmpty(); }}
阅读全文
0 0
- EmptyRecyclerView 数据为空时显示指定view
- “空”的艺术-当数据为空时显示什么
- “空”的艺术-当数据为空时显示什么
- “空”的艺术-当数据为空时显示什么
- “空”的艺术-当数据为空时显示什么
- 当ListView为空时,显示特定的View
- listview设置数据为空时显示数据
- listview没有数据时显示指定的view
- gridview数据绑定为空时显示提示
- ArcMap中添加gdb数据时显示为空问题
- datalist 绑定数据为空时,显示提示信息
- DZNEmptyDataSet使用(UItabelView 数据为空时 显示图)
- 数据为空的时候显示表头
- 为ListView设计数据为空的View
- 支持设置数据为空时打底view的RecyclerView+支持RecyclerView的CursorAdapter
- 自定义View 01 --网络请求返回数据为空时的提示界面
- vue+vue-loader v-for当数据为空数组时显示为 undefined
- JSP接收数据为空--页面显示为0
- 个人笔记6
- CentOS安装微软雅黑,解决drawImage中文乱码问题
- Gym
- @RequestMapping注解的用法
- Spring cloud + Swarm mode 实战二:部署微服务
- EmptyRecyclerView 数据为空时显示指定view
- select动态添加option与动态设置下拉框默认选项(selected)的问题(原创)
- Genymotion配置和安装
- IP协议的主要特点与格式
- 20170929在stm32f103zet6 RTT上扩展外部SRAM
- iOS开发 ☞ 关于带系统导航栏坐标的问题
- 20行代码能干嘛?
- Android中建造者(builder)模式
- Redis中RDB持久化