在项目中,我们可能有多种数据来源比如:

里面有ListView也有当获得数据为空的时候显示的空信息。根据点击的项目还是差事不同,显示的空消息也不同。a.没有收藏的项目,b目前没有收藏的差事。

其实实现方法很多。也都可以实现。不过用viewStub在这里最恰当不过了。

先看此Activity的布局吧。布局文件:

<

FrameLayout android:id="@+id/layoutFrm"

        android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background

="@color/background_color" > <ListView xmlns:ptr="http://schemas.android.com/apk/res-auto"

            android:id="@+id/lstV_fav_task"
-----------若干你懂得-------
ptr:ptrMode

="pullFromEnd" > </com.handmark.pulltorefresh.library.PullToRefreshListView> <ViewStub android:id="@+id/viewStub"

            android:layout_gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout

="@layout/activity_task_favourite_nodata" /> </FrameLayout>

在代码里初始化下!那这个ViewStub加载的布局文件的activity_task_favorite_nodata又在哪里呢?

看布局:

<?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android"

    android:id="@+id/txtV_nodata"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:drawablePadding="20dp"
android:drawableTop="@drawable/favourite_nodata"
android:gravity="center_horizontal"
android:text="@string/my_task_fav_nodata"
android:textColor

="@color/listview_header_textcolor" />

那等于说介个布局其实就是个Textview了。闹了半天,我以为还要搞个Textview还要高个Imageview,弱爆了,啥都不懂出来混看人家写的我又悲剧了。

(就是这个drawable/favourite_nodata.png文件啦)

代码里该怎么办呢?先设置为不可见(预加载下)干。不难。关键道哥不学习。

layoutEmpty =

 (TextView) viewStub.inflate();
layoutEmpty.setVisibility(View.GONE);

肯定要获取数据了。。那得有个方法。在这里:

private void getFavProjects()
得到数据里,判断datalist.size 。。。有了。。。下面你懂得
private void setEmptyViewByDataList(int type) {
if (datalist.size() > 0) {
layoutEmpty.setVisibility(View.GONE);
} else {
if (type == TYPE_PROJECT)
layoutEmpty.setText(R.string.my_project_fav_nodata);
else
layoutEmpty.setText(R.string.my_task_fav_nodata);
layoutEmpty.setVisibility(View.VISIBLE);
}
}

学习下关于ViewStub实例的用法及带Drawable的TextView的妙用的更多相关文章

  1. Android(java)学习笔记264:Android下的属性动画高级用法(Property Animation)

    1. 大家好,在上一篇文章当中,我们学习了Android属性动画的基本用法,当然也是最常用的一些用法,这些用法足以覆盖我们平时大多情况下的动画需求了.但是,正如上篇文章当中所说到的,属性动画对补间动画 ...

  2. Android(java)学习笔记208:Android下的属性动画高级用法(Property Animation)

    1. 大家好,在上一篇文章当中,我们学习了Android属性动画的基本用法,当然也是最常用的一些用法,这些用法足以覆盖我们平时大多情况下的动画需求了.但是,正如上篇文章当中所说到的,属性动画对补间动画 ...

  3. jquery下json数组的操作用法实例

    jquery下json数组的操作用法实例: jquery中操作JSON数组的情况中遍历方法用的比较多,但用添加移除这些好像就不是太多了. 试过json[i].remove(),json.remove( ...

  4. jQuery 顺便学习下CSS选择器 奇偶匹配nth-child(even)

    今天学习jQuery,看到nth-child(even)用法,特意找了下这个选择器的用法,在CSS3标准中,用法很强大. 对此,我把CSS3标准中nth-child()用法大致介绍下: CSS3伪类选 ...

  5. Selenium2学习-039-WebUI自动化实战实例-文件上传下载

    通常在 WebUI 自动化测试过程中必然会涉及到文件上传的自动化测试需求,而开发在进行相应的技术实现是不同的,粗略可划分为两类:input标签类(类型为file)和非input标签类(例如:div.a ...

  6. Selenium2学习-014-WebUI自动化实战实例-012-Selenium 操作下拉列表实例-div+{js|jquery}

    之前已经讲过了 Selenium 操作 Select 实现的下拉列表:Selenium2学习-010-WebUI自动化实战实例-008-Selenium 操作下拉列表实例-Select,但是在实际的日 ...

  7. 【转】Java学习之Iterator(迭代器)的一般用法 (转)

    [转]Java学习之Iterator(迭代器)的一般用法 (转) 迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭 ...

  8. Python学习:类和实例

    Python学习:类和实例 本文作者: 玄魂工作室--热热的蚂蚁 类,在学习面向对象我们可以把类当成一种规范,这个思想就我个人的体会,感觉很重要,除了封装的功能外,类作为一种规范,我们自己可以定制的规 ...

  9. JavaScript学习(2)call&apply&bind&eval用法

    javascript学习(2)call&apply&bind&eval用法 在javascript中存在这样几种特别有用的函数,能方便我们实现各种奇技淫巧.其中,call.bi ...

随机推荐

  1. HTTP meta 设置方法

    网页的缓存是由 HTTP 消息头中的 “Cache-control” 来控制的,常见的取值有 private.no-cache.max-age.must-revalidate 等,默认为private ...

  2. C++读写文件并排序

    比如一条记录是 1987 9 2 1988 8 26 代表公司员工生日 然后需要读入到系统 现在需要放入容器,并且排序 最后输出到新的文件中,按照年龄由大到小. #include "stda ...

  3. ASIHTTPRequest 详解 例子

    目录 目录 发起一个同步请求 创建一个异步请求 队列请求 请求队列上下文 ASINetworkQueues, 它的delegate提供更为丰富的功能 取消异步请求 安全的内存回收建议 向服务器端上传数 ...

  4. BaseAdapter的ArrayIndexOutOfBoundsException

    最近写一个listView中多个listItem布局时,convertView缓存及使用,类似微信的聊天界面的listView,报了一个异常: 11-25 15:51:49.076: E/InputE ...

  5. struts2,hibernate,spring整合笔记(2)

    上一话struts2,hibernate,spring整合笔记(1) 接下来继续 配置完struts之后就要开始hibernate的配置 hibernate的环境并不依赖web开发环境,在我第一次配置 ...

  6. SWFObject文件上传使用记录

    SWFObject文件上传使用方法记录,该插件使用起来相当强大也很灵活,与uploadify各有千秋. 值得一说的是,如果要设置button_image_url这个参数,该参数是按钮的背景图,但是一定 ...

  7. ·数据库基本内容回顾-day16.06.30

    一. 模式的定义和删除  ---创建了一个模式,就创建了一个数据库命名空间,一个框架.cascade.restrict create schema<模式名> authorization & ...

  8. View原理

    View处理: 绘制(paint canvas path:tween等动画效果).事件处理   参考整理自: Custom Components: http://developer.android.c ...

  9. MM32Flash读写操作(兼容STM32)

    MM32Flash读写操作(兼容STM32) Flash基础描述 思维导图 编程实现读写操作 主函数结构 #include "delay.h" #include "sys ...

  10. 【转】大素数判断和素因子分解【miller-rabin和Pollard_rho算法】

    集训队有人提到这个算法,就学习一下,如果用到可以直接贴模板,例题:POJ 1811 转自:http://www.cnblogs.com/kuangbin/archive/2012/08/19/2646 ...