android: ListView设置emptyView 误区
使用ListVIew 来设置EmptyView的时候须注意:
ListView listview = (ListView) findViewById(R.id.list);
View emptyView = findViewById(R.id.empty);
ViewGroup parentView = (ViewGroup) listview.getParent();
parentView.addView(emptyView, 2); // 一定要将EmptyView添加到ListView的ParentView上,不然无效果
listview.setEmptyView(emptyView)
如果你直接在XML中包含了emptyView,那么也就不需要再额外添加到Viewhierarchy中了,因为它已经在那儿了。
例:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
> <View
android:layout_width="match_parent"
android:layout_height="45dip"
android:background="#CCC"
/> <ListView
android:id="@+id/lv_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:cacheColorHint="@android:color/transparent"
/> <TextView
android:id="@+id/tv_empty_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="No Data"
android:textColor="@android:color/black"
android:visibility="visible"
/> </LinearLayout>
ListViewApiUseDemoActivity.java
package com.yongdaimi.android.androidapitest; import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.Gravity;
import android.view.ViewGroup;
import android.view.ViewParent;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView; public class ListViewApiUseDemoActivity extends AppCompatActivity { private ListView lv_list;
private TextView tv_empty_view; private ArrayAdapter<String> arrayAdapter; @Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_listview_api_use_demo);
initView(); /* tv_empty_view = new TextView(this);
tv_empty_view.setText("No Data");
tv_empty_view.setGravity(Gravity.CENTER);
ViewGroup viewGroup = (ViewGroup) lv_list.getParent();
viewGroup.addView(tv_empty_view, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
*/
lv_list.setEmptyView(tv_empty_view);
String[] emptyData = new String[]{};
arrayAdapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, emptyData);
lv_list.setAdapter(arrayAdapter); new Handler().postDelayed(new Runnable() {
@Override
public void run() {
String[] data = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"};
arrayAdapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, data);
lv_list.setAdapter(arrayAdapter);
}
}, 1500); new Handler().postDelayed(new Runnable() {
@Override
public void run() {
String[] data = {};
arrayAdapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, data);
lv_list.setAdapter(null);
}
}, 4500); } private void initView() {
lv_list = findViewById(R.id.lv_list);
tv_empty_view = findViewById(R.id.tv_empty_view);
} }
android: ListView设置emptyView 误区的更多相关文章
- 给ListView设置emptyView
给ListView设置emptyView 版权声明:本文为博主原创文章,未经博主允许不得转载. 使用ListView和GridView时,当列表为空时,默认是不显示任何内容的,这样对用户非常不友好,这 ...
- Android ListView 设置单选
为 ListView 设置选中状态,需要经过如下几个步骤: 设置 ListView 的 android:choiceMode="singleChoice" 设置 ListView ...
- Android ListView 设置
android:minHeight="80dip"//设置每一条的高度 android:divider="@null" //设置默认的分割线不显示 androi ...
- 【转】三十三、Android给ListView设置分割线Divider样式
原文网址:http://www.cnblogs.com/linjiqin/archive/2011/11/12/2246349.html 给ListView设置分割线,只需设置如下两个属性: andr ...
- Android给ListView设置分割线Divider样式
给ListView设置分割线,只需设置如下两个属性: android:divider="#000" //设置分割线显示颜色 android:dividerHeight=" ...
- Android ListView的item背景色设置以及item点击无响应等相关问题
Android ListView的item背景色设置以及item点击无响应等相关问题 在Android开发中,listview控件是非常常用的控件,在大多数情况下,大家都会改掉listview的ite ...
- Android开发之ListView设置隔行变色
public class HLCheckAdapter extends BaseAdapter { private List<HuoLiang> list; private Context ...
- Android下用程序的方法为ListView设置分割线Divider样式
使用XML的时候可以使用android:divider属性为ListView设置分割线的样式(颜色或者资源文件),而在Java代码中默认提供的方法 listView.setDivider() 却只支持 ...
- 一起学android之设置ListView数据显示的动画效果(24)
效果图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGFpX3FpbmdfeHVfa29uZw==/font/5a6L5L2T/fontsize/40 ...
随机推荐
- 第六篇:Python函数进阶篇
在了解完了 Python函数基础篇之后,本篇的存在其实是为了整合知识,由于该篇的知识是否杂乱,故大家可以通过点开点连接直接进入其详细介绍,该篇主要大致的介绍一下几个知识点: 一.Python的迭代器 ...
- Linux命令——mesg
参考:图解Linux命令之--mesg命令 Linux mesg命令 前言 在看一个脚本~/.profile 的时候发现了mesg命令以及一个奇怪用法 ~/.profile # ~/.profile: ...
- python高级特性-sorted()
1.数字排序 >>> sorted([1,-12,13,-4],key=abs) [1, -4, -12, 13] 2.字符串排序 按ASCII排序 默认情况下,对字符串排序,是按照 ...
- evpp下载1个文件
上传一个文件无错误 如何下载一个文件?? 集群?? http pdf 直接 redbuf
- 05-Docker私有仓库
一.介绍私有仓库顾名思义,如果我们不想把docker镜像公开放到公有仓库中,只想在部门或团队内部共享docker镜像,这时私有仓库就来了. 二.私有仓库搭建与配置1.拉取私有仓库镜像,这里说明一下,私 ...
- vue 自定义事件
- Cookie、Session、Token那点事儿和前后端分离之JWT用户认证
(两篇文章转自:https://www.jianshu.com/p/bd1be47a16c1:https://www.jianshu.com/p/180a870a308a) 什么是Cookie? Co ...
- 前端项目中的必要文件-【robots.txt】
放在src文件下:: robots.txt 告诉搜索引擎,该网站的被允许扒取得网页和静止扒取得 facicon.ico 网站地址栏的显示图 humans.txt ...
- Greenplum 如何直连segment节点
Greenplum 展开阅读全文 直连greenplum segment节点的方法, utility模式 : 使用这种方式,不与其他节点通讯,只操作当前节点.也没有数据分布的概念. 如果使用uti ...
- BZOJ 4300: 绝世好题 二进制
对于每一个数字拆位,然后维护一个大小为 30 左右的桶即可. code: #include <bits/stdc++.h> #define N 100006 #define setIO(s ...