XListView上拉加载下拉刷新
来源:互联网 发布:八字反推软件 编辑:程序博客网 时间:2024/05/18 18:21
/**
* github地址: https://github.com/Maxwin-z/XListView-Android
* 1.下载gitHub上XlistView上的压缩包
* 2.复制view包下的三个类,,,,,注意导包的问题
* 3.复制layout下面的footer布局和header的布局
* 4.复制string下面的字段值
*
*
* 支持下拉刷新和上拉加载的操作
* 1.设置上拉还是下拉,还是两个都使用
* 2.设置刷新的监听事件....在监听事件里面去加载数据,然后刷新适配器的操作
*
* 这里使用接口地址是:http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=10&page=1
*
* 下拉刷新的时候,添加到集合的最前边
* 上拉加载的时候,添加到集合的后边
*
* -------------------
* 1.加上图片.....使用imageLoader,,,,图片缓存的位置在sd卡根目录下的image文件夹
* 2.加上多条目加载.....根据条目的奇偶数显示不同的视图
在MainActity
public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener { String url = "http://api.fang.anjuke.com/m/android/1.3/shouye/recInfosV3/?city_id=14&lat=40.04652&lng=116.306033&api_key=androidkey&sig=9317e9634b5fbc16078ab07abb6661c5&macid=45cd2478331b184ff0e15f29aaa89e3e&app=a-ajk&_pid=11738&o=PE-TL10-user+4.4.2+HuaweiPE-TL10+CHNC00B260+ota-rel-keys%2Crelease-keys&from=mobile&m=Android-PE-TL10&cv=9.5.1&cid=14&i=864601026706713&v=4.4.2&pm=b61&uuid=1848c59c-185d-48d9-b0e9-782016041109&_chat_id=0&qtime=20160411091603"; private XListView xListView; List<Goods.ResultBean.RowsBean> list = new ArrayList<>(); //大集合 private MAdapter mAdapter; private ImageLoader imageLoaderInstances; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); xListView = (XListView) findViewById(R.id.xlv); imageLoaderInstances = ImageLoader.getInstance(); mAdapter = new MAdapter(); xListView.setAdapter(mAdapter); getNetData();//联网请求数据 xListView.setPullLoadEnable(true); //让XListView有上拉加载的功能; xListView.setXListViewListener(this);// 接口回调要把接口实现类设置进去, MainActivity就是(XListViewListener)它的实现了 } private void getNetData() { new MAsyncTask().execute(url); } class MAsyncTask extends AsyncTask<String, Void, String> { @Override protected String doInBackground(String... strings) { return NetWordUtils.getNetjson(strings[0]); } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); Goods goods = gson.fromJson(s, Goods.class); //得到集合; List<Goods.ResultBean.RowsBean> rows = goods.getResult().getRows(); //把从网络解析的数据放到adapter使用的集合里; list.addAll(rows); mAdapter.notifyDataSetChanged(); uiComplete();// 让刷新头 或者刷新底部ui返回; } } class MAdapter extends BaseAdapter { @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { View viewItem = View.inflate(MainActivity.this, R.layout.listview, null); TextView textView = (TextView) viewItem.findViewById(R.id.tv); ImageView imageView = (ImageView) viewItem.findViewById(R.id.iv); textView.setText(list.get(i).getInfo().getLoupan_name()); imageLoaderInstances.displayImage(list.get(i).getInfo().getDefault_image(),imageView); return viewItem; } } /** * 下拉刷新 */ @Override public void onRefresh() { list.clear(); getNetData(); } /** * 上啦加载 */ @Override public void onLoadMore() { getNetData(); } /** * 让刷新头 或者刷新底部ui返回; */ private void uiComplete(){ xListView.stopRefresh();//停止刷新 xListView.stopLoadMore();//停止上拉加载更多 xListView.setRefreshTime("刚刚"); }}
在MApp中 @Override
public void onCreate() {
super.onCreate();
//初始化组件
ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(this).build();
ImageLoader.getInstance().init(configuration);
}
<com.bwie.xlistviewlibrary.View.XListView android:id="@+id/xlv" android:layout_width="match_parent" android:layout_height="match_parent"/>
- XlistView上拉刷新下拉加载
- xListView上拉刷新下拉加载
- xListView上拉加载下拉刷新
- XListView上拉加载,下拉刷新
- xlistview上拉加载下拉刷新
- XListView上拉加载下拉刷新
- XListView上拉刷新,下拉加载
- 上拉刷新--下拉加载XListView
- XListView上拉加载下拉刷新
- xlistview上拉刷新、下拉加载
- XListView上拉加载下拉刷新
- XListView上拉加载下拉刷新
- XListView上拉加载下拉刷新
- Xlistview上拉加载下拉刷新
- xlistview上拉刷新,下拉加载
- 上拉刷新下拉加载xlistview-------string
- 上拉刷新下拉加载xlistview--------activity_main
- XlistView的上拉刷新下拉加载
- ImageLoader缓存一个网址图片并存到SD卡上
- rabbitMq与spring的整合
- 内存分配策略
- QoS基础及技术原理——2
- 欢迎使用CSDN-markdown编辑器
- XListView上拉加载下拉刷新
- python发送各类邮件
- spring data jpa 1.9/1.10 复杂sql分页查询
- NOIp2000 进制转换
- Go语言接口interface
- NOIP2016 愤怒的小鸟
- 每日一练-20171107
- JavaScript学习笔记_模块的写法
- SpringBoot附录