`

分别设置listview加载中、空数据、加载数据失败三种状态的显示

阅读更多
设置listview加载中,空数据,加载数据失败三种状态的显示.







基本用法:
import java.util.ArrayList;
import java.util.Arrays;

import com.kanak.emptylayout.EmptyLayout;


import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Toast;
import android.app.ListActivity;

public class MainActivity extends ListActivity {

	private EmptyLayout mEmptyLayout; // this is required to show different layouts (loading or empty or error)
	private ArrayAdapter<String> mAdapter;
	private View.OnClickListener mErrorClickListener = new OnClickListener() {			
		@Override
		public void onClick(View v) {
			Toast.makeText(MainActivity.this, "Try again button clicked", Toast.LENGTH_LONG).show();			
		}
	};
	
	// the list items
	static final String[] MOVIES = new String[] { 
		"Forrest Gump", 
		"Toy Story", 
		"Saving Private Ryan", 
		"Toy Story 2", 
		"The Green Mile", 
		"Cast Away", 
		"Road to Perdition", 
		"Catch Me If You Can", 
		"The Terminal", 
		"The Polar Express", 
		"The Da Vinci Code", 
		"Angels & Demons", 
		"Toy Story 3", 
		"Extremely Loud & Incredibly Close", 
		"Cloud Atlas", 
		"Captain Phillips", 
		"Toy Story 4",
		"The Lost Symbol" 
	};
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		// initialize the empty view
		mEmptyLayout = new EmptyLayout(this, getListView());
		mEmptyLayout.setErrorButtonClickListener(mErrorClickListener);
		
		// populate the list view
		populateList();
	}

	// Triggered when "Empty" button is clicked
	public void onShowEmpty(View view) {
		// clear the list and show the empty layout
		mAdapter.clear();
		mEmptyLayout.showEmpty();
	}

	// Triggered when "Loading" button is clicked
	public void onShowLoading(View view) {
		// clear the list and show the loading layout
		mAdapter.clear();
		mEmptyLayout.showLoading();
	}

	// Triggered when "Error" button is clicked
	public void onShowError(View view) {
		// clear the list and show the error layout
		mAdapter.clear();
		mEmptyLayout.showError();
	}
	
	// Triggered when "List" button is clicked
	public void onShowList(View view) {
		// show the list
		populateList();
	}

	private void populateList() {
		ArrayList<String> list = new ArrayList<String>();
		list.addAll(Arrays.asList(MOVIES));
		mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list);
		setListAdapter(mAdapter);
	}
}
  • 大小: 71 KB
  • 大小: 70.8 KB
  • 大小: 75.5 KB
分享到:
评论

相关推荐

    安卓listview相关相关-Listview分页加载数据.rar

    本压缩包"安卓listview相关相关-Listview分页加载数据.rar"主要关注的是ListView的分页加载数据这一核心特性。 一、ListView基础 1. ListView的基本结构:ListView由多个View(如TextView、ImageView等)组成的...

    listview加载数据

    标题"listview加载数据"表明我们将探讨如何在ListView的底部加载更多的数据,这通常涉及到一个关键概念——分页加载。描述中的“实现服务器获得数据”暗示我们需要处理网络请求来获取新数据并更新ListView。 分页...

    ListView分页加载更多

    ListView是Android平台上常见的一种列表控件,用于展示大量数据。在实际应用中,为了提高用户体验,我们往往不一次性加载所有数据,而是采用分页加载更多的方式。这种方式可以在用户滚动到列表底部时,动态加载新的...

    listview item 异步加载数据图片

    本教程将深入讲解如何在ListView中实现异步加载数据图片,提升应用性能。 首先,我们需要理解异步加载的基本概念。异步加载是指在不阻塞主线程的情况下,后台线程处理耗时任务(如网络请求、图片解码等),然后将...

    listView分页加载

    10. 状态管理:为了管理不同状态(如空数据、加载中、加载完成、加载失败等),可以使用FooterView来显示不同的提示信息。 通过以上步骤,我们可以实现ListView的分页加载功能,既能保证流畅的用户体验,又能在内存...

    android开发的listview下拉刷新加载数据

    在Android开发中,ListView是常用的数据展示控件,它允许我们以列表的形式显示大量数据。然而,为了提供更好的用户体验,通常需要实现ListView的下拉刷新和上拉加载更多功能。这两个特性使得用户能够轻松地获取最新...

    实战EmptyView,为ListView的加载缓冲

    2. **设置Adapter**: 创建一个自定义的Adapter,继承自BaseAdapter,其中需要处理数据为空和数据加载中的状态。 3. **在Activity或Fragment中布局**: 在XML布局文件中,将ListView和EmptyView并列放置,然后在代码中...

    android中listview分页加载数据

    在Android开发中,ListView是常用的一种视图组件,用于展示大量数据列表,而分页加载数据则是优化用户体验、节省资源的重要技术。本篇文章将详细探讨如何在Android中实现ListView的分页加载数据,以满足类似新浪微博...

    Listview实现分页加载

    在Android开发中,ListView是一种常见的用于展示大量数据的视图组件。当数据量过大时,一次性加载所有数据可能会导致内存消耗过高,影响应用性能。因此,"Listview实现分页加载"这一技术就显得尤为重要。分页加载,...

    Android高级应用源码-Listview,Gridview空数据处理.zip

    - 考虑异常情况,如网络错误或数据加载失败,也应该有相应的错误提示。 通过这个源码学习,开发者不仅可以了解如何处理ListView和GridView的空数据状态,还能掌握自定义布局和Adapter的使用,进一步提升Android...

    listview下拉加载更多

    在实际开发中,你可能会遇到一些额外的问题,例如如何优化性能,避免在滑动过程中频繁加载数据,或者如何处理数据加载失败的情况。这些问题都需要根据具体项目需求进行适当地处理和优化。 以上就是实现ListView下拉...

    android listview 加载图片错乱(错位)

    在Android开发中,ListView是一种常用的组件,用于展示可滚动的多行数据,通常用于列表形式的数据展示。然而,开发者在实现ListView加载图片时可能会遇到图片错乱或错位的问题,这通常是由于不当的图片加载策略或者...

    Listview上拉加载下拉刷新网络数据

    在Android开发中,ListView是一种常见的用于展示大量列表数据的组件,尤其在处理长列表时,为了提供更好的用户体验,通常会采用“上拉加载更多”和“下拉刷新”的功能。这两种交互模式使得用户无需手动翻页,只需轻...

    安卓下拉上拉刷新相关-Listview上拉加载下拉刷新网络数据数据来自汇通网股票数据应该长期有效.rar

    9. **状态管理**:考虑到数据的实时性,应用可能需要处理数据加载的不同状态,如空数据、加载中、加载失败等,这需要相应的UI反馈。 10. **权限管理**:由于涉及到网络访问,应用需要在AndroidManifest.xml中声明...

    listView上拉加载更多

    - 在数据加载过程中,应禁用ListView的滚动,防止用户触发多次加载事件。 - 考虑到性能,加载更多的数据量不宜过大,避免一次性加载过多导致界面卡顿。 6. **示例代码** ```java listView.setOnScrollListener...

    一个非常强大的上下加载ListView

    加载过程中应显示适当的加载提示,加载失败时提供重试选项,以及在数据为空时给出友好的提示。此外,加载速度和动画效果也会影响用户的感知。 综上所述,“一个非常强大的上下加载ListView”是通过监听用户滚动、...

    Android实现Iphone中ListView上下加载数据效果

    而"Android实现Iphone中ListView上下加载数据效果"是借鉴了iOS中UITableView的无限滚动概念,即当用户滚动到ListView的顶部或底部时,自动加载更多数据。这样的设计既提升了用户体验,也简化了数据加载的操作。 ...

    listview分页 -- 底部加载更多

    8. **错误处理**:当网络请求失败或数据加载异常时,需要提供合适的错误提示,例如显示错误信息或重试按钮。同时,要确保用户可以取消加载更多的操作,防止无限循环加载。 综上所述,实现ListView的分页加载“底部...

    【ListView】动态加载点击加载

    4. 显示加载状态:在加载过程中,可以显示一个加载指示器(如ProgressBar),数据加载完成后隐藏,加载失败时显示错误提示。 五、优化点 - 使用下拉刷新库(如SwipeRefreshLayout)结合上拉加载,提供更完整的用户...

Global site tag (gtag.js) - Google Analytics