自定义AdapterView的空视图_gridview添加占位空视图-程序员宅基地

技术标签: android  AdapterView  Android  

随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)

实现在AdapterView(ListView、GridView等)没有数据时自动绑定空视图展示。

核心代码只有一句:调用AdapterView的setEmptyView方法,其内部会根据ListAdapter的isEmpty方法来控制显示自身还是空视图,非常简单。

这样就省去了我们自己去写逻辑控制ListView和空布局的显示切换。

下面给一个简单示例:

	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);        
        setContentView(R.layout.main);
        View emptyView=findViewById(R.id.main_layout_empty);
        ListView listView=(ListView) findViewById(R.id.main_listview);
        listView.setEmptyView(emptyView);
        
        String[] arr={"text1","text2","text3","text4","text5",};//改变数据的有无自动变化视图
        ArrayAdapter<String > adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, arr);
        listView.setAdapter(adapter);
	}


main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/main_layout_empty"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="没有数据" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="刷新" />
    </LinearLayout>

    <ListView
        android:id="@+id/main_listview"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u010142437/article/details/71270030

智能推荐

iis绑定php程序应用池设定,什么是IIS应用程序池以及应用程序池详解-程序员宅基地

文章浏览阅读205次。什么是应用程序池呢?这是微软的一个全新概念:应用程序池是将一个或多个应用程序链接到一个或多个工作进程集合的配置。因为应用程序池中的应用程序与其他应用程序被工作进程边界分隔,所以某个应用程序池中的应用程序不会受到其他应用程序池中应用程序所产什么是应用程序池呢?这是微软的一个全新概念:应用程序池是将一个或多个应用程序链接到一个或多个工作进程集合的配置。因为应用程序池中的应用程序与其他应用程序被工作进程..._iis10配置php 应用程序池

windows server 2012 服务器打开系统远程功能_请确认将rd授权管理器安装为-程序员宅基地

文章浏览阅读974次。然后在服务器池中选择你需要使用的服务器。需要选择安装的服务器类型,如图所示。安装完成后,点击左边服务器,打开“验证完成后,就可以使用远程服务了。选择完成确认内容并等待安装完成。选择完成后,在图示列表下勾选“”并使用服务器ID进行验证。在右键其中服务器,点击“_请确认将rd授权管理器安装为

如何验证自己编译的交叉工具链是否可用_musl-x86_64.so库作用-程序员宅基地

文章浏览阅读2.1k次,点赞2次,收藏2次。自己编译的交叉工具链,使用工具链生成可执行程序来验证工具链是否可用_musl-x86_64.so库作用

富文本编辑器不能正常显示(使用freemarker生成模板)_form generator 富文本编辑器不显示-程序员宅基地

文章浏览阅读1.6k次。一、快速解决:1、使用freemarker模板生成的html,有时不能被富文本编辑器插件识别。2、其中一个解决方案,HTML压缩。网上找一个在线的HTML压缩网站,例如https://tool.oschina.net/jscompress/,把模板压缩后,再次生成的HTML就可以被富文本识别。二、具体实例:1、场景:在一些政府项目,财务金融项目,办公系统项目等等都会大量使用到freemarker模板,来生成HTML。2、问题:使用freemarker模板生成的HTML文本,富.._form generator 富文本编辑器不显示

Script error.全面解析_#r北:script error: luaj.luaerror: @/data/data/com.t-程序员宅基地

文章浏览阅读3.4k次。一些用户向我们反馈,Fundebug的JavaScript监控插件抓到了很多Script error.,然后行号和列号都是0…这就很尴尬了。今天,我们来详细地解析一下Script error.,后续我们还会深度测试并且提供解决方法。同源策略 (Same origin policy)解释Script error.之前,我们先简单聊聊同源策略。摘自MDN - Same-origin policy:_#r北:script error: luaj.luaerror: @/data/data/com.tencent.mobile**.sb/co

视频会议常用术语——转自华为TE40帮助文档_华为会议终端演示会场锁定-程序员宅基地

文章浏览阅读2.9k次。术语查看Web页面在线帮助中用到的术语。数字1080i 分辨率为1920×1080的隔行扫描图像格式。 1080p 分辨率为1920×1080的逐行扫描图像格式。 2CIF 分辨率为352×576的逐行扫描图像格式。 2SIF 分辨率为352×480的逐行扫描图像格式。 4CIF 分辨率为704×576的逐行扫描图像格式。 4SIF 分辨率为704×480的逐行扫描图像格式。 720p 分辨率为1_华为会议终端演示会场锁定

随便推点

docker overlay2清理_迁移 Docker 容器储存位置-程序员宅基地

文章浏览阅读1.1k次,点赞2次,收藏3次。本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 署名 4.0 国际 (CC BY 4.0)本文作者: 苏洋创建时间: 2019年07月14日 统计字数: 3500字 阅读时间: 7分钟阅读 本文链接: https://soulteary.com/2019/07/14/migrate-docker-container-storage-loc..._如何更改docker overlay2 位置

2023年3月| 红帽RHCE考试战报-微思红帽官方授权培训中心_rhce全国考点-程序员宅基地

文章浏览阅读1.1k次。每一张RHCE证书不仅代表了学员成为一名红帽认证工程师,同时也是对微思老师和学员辛勤的付出的肯定。正所谓“不想当将军的士兵不是好兵”,对于一个Linux从业人员来说升职加薪是他们的共同愿望,而考取红帽认证是行之有效的方式之一。企业对Linux人才特别是RHCE的需求不断的增大,而RHCE认证在Linux行业里属于含金量较高的一个认证,这种专业的技能认证越来越多的成为公司考虑一个员工加薪、升职、晋升的标准和参考。热烈祝贺微思的15名学员成为真正意义上的红帽认证工程师。来看看部分学员的高分成绩单。_rhce全国考点

【传智播客】Javaweb程序设计任务教程 黑马程序员 第二章 课后答案_javaweb程序设计任务教程第二版课后答案-程序员宅基地

文章浏览阅读6.5k次,点赞3次,收藏18次。第二章 问题【测一测】学习完前面的内容,下面来动手测一测吧,请思考以下问题:1、简述HTTP1.1协议的通信过程?2、简述POST请求和GET请求有什么不同?(至少2点)3、请列举出Tomcat安装目录下的子目录,并对其进行简要说明?(至少列出5个)4、请编写一个格式良好的XML文档,要求包含足球队一支,队名为Madrid,球员5人:Ronaldo、Casillas、Ramos、Modric、Benzema;篮球队一支,队名为Lakers,队员2人:Oneal,Bryant。里面要求含有注释,注_javaweb程序设计任务教程第二版课后答案

testng的用法--未消化的,未研究明白-程序员宅基地

文章浏览阅读117次。2019独角兽企业重金招聘Python工程师标准>>> ..._f网站

二、svn分支策略原理:-程序员宅基地

文章浏览阅读159次。零、说明:-----欢迎拍砖1、下面内容是找的网上资料总结的,不是生产环境内容,svn分支策略好麻烦啊2、merge很重要而且不好理解,merge修改的只是本地的工作副本,所以只要不提交,不会对服务端造成影响3、多个项目互相依赖,会不会混乱,版本怎么管理那????一、Trunk,Branches,Tags说明1、Branches、Tags生成都是使用svncopy命令生成..._svn切换分支的底层原理

阿里云轻量应用服务器LAMP镜像下搭建网站_阿里云轻量服务器lamp不用域名怎么建站-程序员宅基地

文章浏览阅读915次。阿里云轻量应用服务器LAMP镜像下搭建网站1.服务器选择我配的是2GB内存1核 40GB SSD系统盘。阿里的云翼计划24岁以下自动获取学生身份,这样购买的话一个月只要9.5元。2.选择应用镜像因为部署的是php项目所以选择的是LAMP应用镜像。3.购买之后,环境都是搭配好的。剩下的就是按照步骤配置MySQL和上传文件。1.解析域名。阿里云解析域名可在此快速添加DNS解析,其他域..._阿里云轻量服务器lamp不用域名怎么建站

推荐文章

热门文章

相关标签