Android开发:ListView添加EmptyView的帮助类

在项目开发过程中,会碰到许许多多的ListView,古老的方法就是每碰到一个ListView,就在xml文件里面写上emptyView,然后添加emptyView,其实在很多时候,不同ListView的emptyView是一样的,对此,写一个简单的帮助类,在ListView需要增加emptyView的时候,只要添加一行代码就可以实现了

帮助类的名称叫EmptyViewHelper,代码如下:

public class EmptyViewHelper {
	private ListView mListView;
	private View emptyView;
	private Context mContext;
	private String mEmptyText;
	private TextView mTextView;

	public EmptyViewHelper(ListView listView) {
		mListView = listView;
		mContext = listView.getContext();
		initEmptyView();
	}

	public EmptyViewHelper(ListView listView, String text) {
		mListView = listView;
		mContext = listView.getContext();
		mEmptyText = text;
		initEmptyView();
	}

	private void initEmptyView() {
		emptyView = View.inflate(mContext, R.layout.empty_view, null);
		((ViewGroup)mListView.getParent()).addView(emptyView);
		mListView.setEmptyView(emptyView);
		if (!TextUtils.isEmpty(mEmptyText)) {
			((TextView)emptyView.findViewById(R.id.textview)).setText(mEmptyText);
		}
	}

}

这个帮助类,获取当前的Listview,然后inflate提前写好的emptyView,然后设置好emptyView就可以了

然后,当一个listview需要添加emptyView的时候,只要如下一行代码就可以了

EmptyViewHelper emptyViewHelper = new EmptyViewHelper(mListview, "你还没有订单");

实现方法还是很简单的,这样做有以下好处:

1、预前写好emptyView,每次碰到需要设置emptyView,只要一行代码就可以实现

2、当emptyView需要更改的时候,只要更改了emptyView,所有listview中绑定的emptyView也就随着更改了

我自从在项目中使用了该帮助类,开发中节约了许多的时间,现分享出来,作为下次开发时候的备份,也希望对大家略有助益。。。。

时间: 2025-01-10 02:43:46

Android开发:ListView添加EmptyView的帮助类的相关文章

★android开发--ListView+Json+异步网络图片加载+滚动翻页的例子(图片能缓存,图片不错乱)

例子中用于解析Json的Gson请自己Google下载 主Activity: package COM.Example.Main; import java.util.HashMap; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Map; import COM.Example.Main.R; import COM.Example.Main.stringG

android 开发-ListView与ScrollView事件冲突处理(事件分发机制处理)

ListView和ScrollView都存在滚动的效果,所以一般不建议listView和scrollView进行嵌套使用,但有些需求则需要用到两者嵌套.在android的学习中学了一种事件分发处理机制. 如果listView显示在UI上部,而如imageView等显示在UI下部. 首先为listView注册一个滑动监听事件 通过为listView设置固定高度,并注册滑动监听事件.在划动监听事件中,记录用户是否滑动至listView数据底部. 通过activity的dispatchTouchEve

android 开发-ListView列表显示控件的实现

列表的显示需要三个元素: 1.ListVeiw 用来展示列表的View. 2.适配器 用来把数据映射到ListView上的中介. 3.数据    具体的将被映射的字符串,图片,或者基本组件. 根据列表的适配器类型,列表分为三种,ArrayAdapter,SimpleAdapter和SimpleCursorAdapter UI: 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

Android在listview添加checkbox实现单选多选操作问题

android根据View的不同状态更换不同的背景http://www.eoeandroid.com/thread-198029-1-1.html android 模仿朋友网推出的菜单效果[改进版]http://www.eoeandroid.com/thread-198019-1-1.html 让服务器iis支持.apk文件下载的设置方法http://www.eoeandroid.com/thread-198033-1-1.html 在 android 某些开发需求当中,有时候需要在listve

Android在listview添加checkbox实现单选多选操作问题(转)

转自:http://yangshen998.iteye.com/blog/1310183 在Android某些开发需求当中,有时候需要在listveiw中加入checkbox实现单选,多选操作.表面上看上去只是改变checkbox那么简单,然而实际开发中,实现起来并不是那么得心应手.尤其当listview比较多(比如屏幕最多只能显示10个item,但总共有12个item,也就是说listview的item数大于屏幕能够显示的item数)滑动屏幕的时候,由于适配器中getview()会重复使用被移

Android开发----Listview刷新的相关代码

Mainactity public class MainActivity extends ListActivity {    static final int MENU_MANUAL_REFRESH = 0;    static final int MENU_DISABLE_SCROLL = 1;    static final int MENU_SET_MODE = 2;    static final int MENU_DEMO = 3;    int index=1;        pri

Android开发中相见恨晚的方法、类或接口

摘抄.整理加个人总结,感谢所有参与者! 1.      Resources类中的getIndentifier(name,defType,defPackage)方法,根据资源名次获取其ID: 2.      Array类中的asList(T-array)方法,数组转List集合: 3.      View类的callOnClick(),performClick()和performLongClick(): 4.      TextView类中的append方法,追加文本: 5.      Decim

Android给ListView添加一个入场动画

动画是一个App体现良好交互的一种手段,通常的我们会看到很多App的ListView的Item都有一个入场动画例如: 可以看到,当进入界面加载ListView的Item的时候有一个向左滑动显示,并且淡入的动画.下面介绍一下实现方法: <ListView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:la

.Net程序员玩转Android开发--ListView单击事件

public class ListViewClickActivity extends Activity {         private ListView lv;        SimpleAdapter adp;//定义适配器         private List<map<string,object>> mapList;//定义数据源                      protected void onCreate(Bundle savedInstanceState