XListView
2024-08-22 01:27:21
第一步:到官网下载第三方包,拷贝到自己的项目中
https://github.com/Maxwin-z/XListView-Android
第二步:xml文件
<me.maxwin.view.XListView android:id="@+id/xListView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:cacheColorHint="#00000000"> </me.maxwin.view.XListView>
第三步:java代码
package com.gcp; import java.util.ArrayList; import me.maxwin.view.XListView; import me.maxwin.view.XListView.IXListViewListener; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.widget.ArrayAdapter; public class XListViewActivity extends Activity implements IXListViewListener { private XListView mListView; //创建XListView对象 private ArrayAdapter<String> mAdapter; private ArrayList<String> items = new ArrayList<String>(); private Handler mHandler; //用来模拟网络请求的(不要被迷惑) private int start = 0; private static int refreshCnt = 0; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); geneItems(); mListView = (XListView) findViewById(R.id.xListView); mListView.setPullLoadEnable(true);//上拉刷新 mAdapter = new ArrayAdapter<String>(this, R.layout.list_item, items);//用模拟的数据填充系统的adapter mListView.setAdapter(mAdapter);//指定adapter // mListView.setPullLoadEnable(false); // mListView.setPullRefreshEnable(false);//下拉刷新 mListView.setXListViewListener(this); //给xListView条目设置监听事件 mHandler = new Handler(); } private void geneItems() { for (int i = 0; i != 5; ++i) { items.add("refresh cnt " + (++start)); } } //或的数据后一定要加onLoad()方法,否则刷新会一直进行,根本停不下来 private void onLoad() { mListView.stopRefresh(); mListView.stopLoadMore(); mListView.setRefreshTime("刚刚"); } @Override public void onRefresh() { mHandler.postDelayed(new Runnable() { @Override public void run() { start = ++refreshCnt; items.clear(); geneItems(); // mAdapter.notifyDataSetChanged(); mAdapter = new ArrayAdapter<String>(XListViewActivity.this, R.layout.list_item, items); mListView.setAdapter(mAdapter); onLoad(); } }, 2000); } @Override public void onLoadMore() { mHandler.postDelayed(new Runnable() { @Override public void run() { geneItems(); mAdapter.notifyDataSetChanged(); onLoad(); } }, 2000); } }
最新文章
- Java学习笔记-按值传递
- clang: error: linker command failed with exit code 1 (use -v to see invocati
- Mysql 插入部分字段问题
- Python学习笔记----序列共性
- 带缓存的输入输出-bufferedinputstream类与bufferedoutputstream类
- CentOS7_RAID5_LVM_SAMBA
- 用sql语句生成sqlserver数据库表的数据字典
- Flex开发自定义控件
- [转]Inside Swift
- WPF基础篇之连接数据库
- AVL树的Java实现
- 5.6版本GTID复制异常处理一例(转)
- faster rcnn
- javascript篇-slice(),splice(),split(),substring(),substr()的用法以及区别
- 初尝Web API《转》
- 自定义控件之万能Repeater源码
- 如何通过Fiddler模拟弱网进行测试
- python爬虫实战(三)--------搜狗微信文章(IP代理池和用户代理池设定----scrapy)
- Process Monitor工具找网吧广告
- 使用Openssl创建证书
热门文章
- Android Fragment 解析和使用
- 使用junit测试用例
- 简单的Linq笔记
- Javascript动画效果(三)
- Spark API 之 combineByKey(一)
- 未能加载文件或程序集&ldquo;System.Web.Http.WebHost, Version=4.0.0.0, &rdquo;或它的某一个依赖项。系统找不到指定的文件。
- IIS 架构解析
- IBM和传统IT的沦落
- Mac OS 的一点历史: Mac OS, Mac OSX 与Darwin
- .NET使用ZXing.NET生成中间带图片的二维码