博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android: ListView设置emptyView 误区
阅读量:5134 次
发布时间:2019-06-13

本文共 2790 字,大约阅读时间需要 9 分钟。

使用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中了,因为它已经在那儿了。

例:

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
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
(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
(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
(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); }}
 

转载于:https://www.cnblogs.com/yongdaimi/p/11050886.html

你可能感兴趣的文章
笨方法学python - 03
查看>>
Redis学习
查看>>
Python数据可视化之Pygal(雷达图)
查看>>
Django组件--cookie与session
查看>>
12. javacript高级程序设计-DOM2和DOM3
查看>>
【算法】Quick Select
查看>>
Centos7安装vsftpd (FTP服务器)
查看>>
当前主流读取Excel技术对比
查看>>
js-格式化数字保留两位小数-带千分符
查看>>
【Java】forward & redirect 的差异
查看>>
Java学习笔记--字符串和文件IO
查看>>
【BZOJ1951】古代猪文(CRT,卢卡斯定理)
查看>>
poj 2823 线段树
查看>>
转 Silverlight开发历程—(画刷与着色之线性渐变画刷)
查看>>
SQL语法(3)
查看>>
在js在添版本号
查看>>
C++中map的用法
查看>>
图的遍历
查看>>
信息安全系统设计基础实验三
查看>>
Change log data for DSO
查看>>