XlistView简单集成示例
2016-06-24 15:25
288 查看
首先下载XListview框架
点击打开链接
下载后解压文件
将:src\org\com\cctest\view目录下三个java文件复制到项目中
将:values目录下strings.xml,styles.xml复制到项目中
将:布居文件中上拉和下拉的布局文件复制到项目中
将:图片文件中图片复制到项目中
注意:主活动或碎片要实现接口IXListViewListener
点击打开链接
下载后解压文件
将:src\org\com\cctest\view目录下三个java文件复制到项目中
将:values目录下strings.xml,styles.xml复制到项目中
将:布居文件中上拉和下拉的布局文件复制到项目中
将:图片文件中图片复制到项目中
注意:主活动或碎片要实现接口IXListViewListener
<span style="font-size:12px;">package com.example.xlistview; import java.text.SimpleDateFormat; import java.util.Date; import java.util.LinkedList; import org.com.cctest.view.XListView; import org.com.cctest.view.XListView.IXListViewListener; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import com.example.xlistview.Data.DataBean; import com.google.gson.Gson; import com.lidroid.xutils.HttpUtils; import com.lidroid.xutils.exception.HttpException; import com.lidroid.xutils.http.ResponseInfo; import com.lidroid.xutils.http.callback.RequestCallBack; import com.lidroid.xutils.http.client.HttpRequest.HttpMethod; public class MainActivity extends Activity implements IXListViewListener { String refresh = "http://ic.snssdk.com/2/article/v25/stream/?category=news_tech&count=20&min_behot_time=1465266200&bd_latitude=4.9E-324&bd_longitude=4.9E-324&bd_loc_time=1465265107&loc_mode=5&lac=4527&cid=28883&iid=4464422609&device_id=17258390367&ac=wifi&channel=baidu&aid=13&app_name=news_article&version_code=460&device_platform=android&device_type=SAMSUNG&os_api=19&os_version=4.4.4&uuid=353040417908000&openudid=84c1c7b192991cc6"; String more="http://ic.snssdk.com/2/article/v25/stream/?category=news_hot&count=20&max_behot_time=1465886546&bd_latitude=4.9E-324&bd_longitude=4.9E-324&bd_loc_time=1465889498&loc_mode=5&lac=4527&cid=28883&iid=4464422609&device_id=17258390367&ac=wifi&channel=baidu&aid=13&app_name=news_article&version_code=460&device_platform=android&device_type=SAMSUNG&os_api=19&os_version=4.4.4&uuid=353040417908000&openudid=84c1c7b192991cc6"; LinkedList<DataBean> list = new LinkedList<DataBean>(); Handler handler = new Handler() { private MyAdapter myAdapter; @SuppressWarnings("unchecked") public void handleMessage(android.os.Message msg) { switch (msg.what) { // 加载初始化数据 case 1: list = (LinkedList<DataBean>) msg.obj; myAdapter = new MyAdapter(MainActivity.this, list); xlistView.setAdapter(myAdapter); // loadOver(); break; // 刷新 case 2: list.clear(); for (DataBean dataBean : (LinkedList<DataBean>)msg.obj) { //象开头添加 list.addFirst(dataBean); } // 刷新适配器 myAdapter.notifyDataSetChanged(); loadOver(); break; // 加载更多 case 3: for (DataBean dataBean : (LinkedList<DataBean>)msg.obj) { //象结尾添加 list.addLast(dataBean); } // 刷新适配器 myAdapter.notifyDataSetChanged(); loadOver(); break; } }; }; private XListView xlistView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); xlistView = (XListView) findViewById(R.id.xlistView); // 下拉刷新是否激活 xlistView.setPullRefreshEnable(true); // 加载更多是否激活 xlistView.setPullLoadEnable(true); // xlistView刷新和加载更多的监听 xlistView.setXListViewListener(this); getData(1,refresh); } public void getData(final int i,String path) { HttpUtils httpUtils = new HttpUtils(); httpUtils.configCurrentHttpCacheExpiry(0); httpUtils.send(HttpMethod.GET, path, new RequestCallBack<String>() { @Override public void onFailure(HttpException arg0, String arg1) { } @Override public void onSuccess(ResponseInfo<String> arg0) { String result = arg0.result; Gson gson = new Gson(); Data data = gson.fromJson(result, Data.class); Message msg = Message.obtain(); msg.obj = data.getData(); msg.what = i; handler.sendMessage(msg); } }); } // 停止加载更多/刷新 public void loadOver() { // 停止加载更多 xlistView.stopLoadMore(); // 停止刷新 xlistView.stopRefresh(); //设置刷新时的时间 xlistView.setRefreshTime(getTime()); } /** * 刷新 */ @Override public void onRefresh() { getData(2,refresh); } /** * 加载更多 */ @Override public void onLoadMore() { getData(3,more); } public String getTime(){ SimpleDateFormat format=new SimpleDateFormat("hh:mm:ss"); Date date=new Date(); String time = format.format(date); return time; } } </span>
相关文章推荐
- Android收发短信
- 【Android---项目中】TextView动态设置颜色
- android 应用开发,利用反射机制调用非官方api
- (干货)大数据:70多个网站让你免费获取大数据存储库
- (干货)大数据:70多个网站让你免费获取大数据存储库
- 操作系统实验四
- Eclipse 中 Tomcat启动卡100%(preparing launch delegate...)
- warning:ISO C90 forbids mixed declarations and code
- OTG – Android USB Hos
- Saltstack快速部署
- 基于python多线程实现Linux任务并发执行
- Java正则抓取email
- LeetCode 274 H-Index (H索引)
- UE4 编译笔记
- iOS复杂动画之抽丝剥茧(Objective-C & Swift)(转载)
- ASP.NET Core 1.0: 指定Default Page
- 递归--应用
- Java实验(19) 交通灯
- Redmine 安装 win10 系统
- python连接mongodb并进行用户验证