千家信息网

Android中的setEmptyView怎么使用

发表于:2025-11-15 作者:千家信息网编辑
千家信息网最后更新 2025年11月15日,这篇"Android中的setEmptyView怎么使用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我
千家信息网最后更新 2025年11月15日Android中的setEmptyView怎么使用

这篇"Android中的setEmptyView怎么使用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Android中的setEmptyView怎么使用"文章吧。

Android ListView之setEmptyView正确使用方法

假如emptyView和listview在布局中,已经属于同一个parent,设置EmptyView的代码如下

private void setEmptyView(){   emptyTv.setText(getString(R.string.txt_no_data_refreshable));   mList.setEmptyView(empty); }

假如没有数据,运行,一切正常。

下面我们执行一句代码后

mList.setVisibility(View.VISIBLE);

我们发现,emptyView看不到了,奇怪!

我们来看一下listview的setEmptyView的代码

public void setEmptyView(View emptyView) {   mEmptyView = emptyView;    // If not explicitly specified this view is important for accessibility.   if (emptyView != null       && emptyView.getImportantForAccessibility() == IMPORTANT_FOR_ACCESSIBILITY_AUTO) {     emptyView.setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_YES);   }    final T adapter = getAdapter();   final boolean empty = ((adapter == null) || adapter.isEmpty());   updateEmptyStatus(empty); }

其中重点看updateEmptyStatus的源码

private void updateEmptyStatus(boolean empty) {   if (isInFilterMode()) {     empty = false;   }    if (empty) {     if (mEmptyView != null) {       mEmptyView.setVisibility(View.VISIBLE);       setVisibility(View.GONE);     } else {       setVisibility(View.VISIBLE);     }     if (mDataChanged) {             this.onLayout(false, mLeft, mTop, mRight, mBottom);      }   } else {     if (mEmptyView != null) mEmptyView.setVisibility(View.GONE);     setVisibility(View.VISIBLE);   } }

我们发现,控制emptyView的显示,就是隐藏listview,这两个试图互相隐藏显示,来达到效果,而且updateEmptyStatus方法只有在listview的setEmptyView时才会执行,所以当你执行mList.setVisibility(View.VISIBLE)的时候,listview被设置为可见,它覆盖了emptyView,所以你看不到,如果想显示emptyView,那就再执行一遍setEmptyView方法。

以上就是关于"Android中的setEmptyView怎么使用"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

内容 代码 方法 就是 文章 知识 篇文章 两个 价值 使用方法 只有 大部分 布局 效果 数据 时候 更多 步骤 源码 知识点 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 mc 世界好玩的服务器 应对网络安全执法检查 5G网络安全与智慧广电 软件开发 经典笔试题 电子商务网络安全与支付试题 学计算机网络技术买什么书 我的世界服务器管理员如何传人 山西精英网络技术咨询联系人 软件开发安卓开发 netsql怎么连接数据库 我知到的网络安全常识1000字 怎样实现数据库自动分区 数据库的安全需求可以归纳为 数据库一致性保障方案 网络安全教育手抄报涂颜色 数据库ordb是什么 数据库审计旁路阻断功能 为什么光遇会显示服务器繁忙 全网公敌van服务器删除 长沙直播平台软件开发 我的世界手机钻石大陆服务器 研华科技数据库 软件开发笔试题运行不了 服务器虚拟化有哪两种方式 电脑如何做服务器主机 erp服务器能放云上吗 哪个软件可以查网络安全 雷瑟守备 服务器 数据库审计旁路阻断功能 深圳五年软件开发月薪多少钱
0