比较美观的ListView下拉刷新上拉加载
来源:互联网 发布:windows日志在哪里 编辑:程序博客网 时间:2024/05/17 01:02
package com.example.demo;import java.util.LinkedList;import android.app.Activity;import android.os.AsyncTask;import android.os.Bundle;import android.os.Handler;import android.util.Log;import com.bwie.guoxinbo20160505.pullToRefresh.Bean;import com.bwie.guoxinbo20160505.pullToRefresh.Bean.MyData;import com.bwie.guoxinbo20160505.pullToRefresh.MyAdapter;import com.bwie.guoxinbo20160505.pullToRefresh.PullToRefreshLayout;import com.bwie.guoxinbo20160505.pullToRefresh.PullToRefreshLayout.OnRefreshListener;import com.bwie.guoxinbo20160505.pullToRefresh.PullableListView;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 {private PullToRefreshLayout layout;private PullableListView listView;private String url = "http://apis.juhe.cn/goodbook/query?key=9d6ef8c31647a206e05fcaff70527182&catalog_id=242&pn=0&rn=10";private boolean flag=true;private LinkedList<MyData> list2;private LinkedList<MyData> list;private MyAdapter adapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);layout = (PullToRefreshLayout) findViewById(R.id.layoutboke);listView = (PullableListView) findViewById(R.id.listviboke);new MyAsync().execute();layout.setOnRefreshListener(new OnRefreshListener() {// 刷新@Overridepublic void onRefresh(PullToRefreshLayout pullToRefreshLayout) {String url1 = "http://apis.juhe.cn/goodbook/query?key=9d6ef8c31647a206e05fcaff70527182&catalog_id=242&pn=10&rn=10";getJson(url1, pullToRefreshLayout);}// 加载@Overridepublic void onLoadMore(final PullToRefreshLayout pullToRefreshLayout) {String url2 = "http://apis.juhe.cn/goodbook/query?key=9d6ef8c31647a206e05fcaff70527182&catalog_id=242&pn=20&rn=10"; getJson(url2, null); new Handler().postDelayed(new Runnable() {@Overridepublic void run() { pullToRefreshLayout.loadmoreFinish(PullToRefreshLayout.SUCCEED);}}, 2000);}});}// 获取数据private void getJson( String url,final PullToRefreshLayout pullToRefreshLayout) {HttpUtils utils = new HttpUtils();utils.configResponseTextCharset("utf-8");utils.send(HttpMethod.POST, url, new RequestCallBack<String>() {@Overridepublic void onFailure(HttpException arg0, String arg1) {}@Overridepublic void onSuccess(ResponseInfo<String> arg0) {String json = arg0.result;Gson gson = new Gson();Bean bean = gson.fromJson(json, Bean.class);// 证明是第一次请求网络if (flag) {list = bean.result.data;adapter = new MyAdapter(MainActivity.this, list);listView.setAdapter(adapter);//gv_view.onRefreshComplete();//pullToRefreshLayout.loadmoreFinish(PullToRefreshLayout.SUCCEED);flag = false;} else {// 执行下拉刷新或者上拉加载的时候,进入此判断。通过判断boolean的值来判断是什么操作。if (pullToRefreshLayout==null) {// 上拉加载,加载出的数据在数据的底部。list2 = bean.result.data;for (MyData myData : list2) {list.add(myData);}//gv_view.onRefreshComplete();adapter.notifyDataSetChanged();} else {// 下拉刷新,刷新出来的数据在数据的顶部,之前的数据还在。list2 = bean.result.data;for (MyData myData : list2) {list.addFirst(myData);}//gv_view.onRefreshComplete();pullToRefreshLayout.refreshFinish(PullToRefreshLayout.SUCCEED);adapter.notifyDataSetChanged();}}}});}// 异步加载class MyAsync extends AsyncTask<String, Integer, String> {@Overrideprotected String doInBackground(String... params) {try {Thread.sleep(3000);} catch (InterruptedException e) {e.printStackTrace();}return null;}@Overrideprotected void onPostExecute(String result) {getJson(url, null);super.onPostExecute(result);}}}
0 0
- 比较美观的ListView下拉刷新上拉加载
- 下拉刷新+上拉加载的listview
- listview的上拉刷新,下拉加载
- listview的上拉加载,下拉刷新
- listView上拉刷新下拉加载
- Listview 下拉刷新,上拉加载更多
- Android ListView 下拉刷新 上拉加载
- listView上拉刷新下拉加载
- android listview 上拉加载 下拉刷新
- Listview下拉刷新上拉加载更多
- ListView上拉加载下拉刷新
- 下拉刷新,上拉加载更多ListView
- ListView下拉刷新,上拉加载更多
- Android--listview下拉刷新,上拉加载
- ListView下拉刷新上拉加载更多
- Appcan listview上拉加载下拉刷新
- ListView下拉刷新&上拉加载
- listview上拉刷新下拉加载
- hive笔记-----表
- 16.二叉树的镜像(第三次做还是要看思路)
- JSP网页之间get传参乱码
- TimesTen的日志文件ttmesg.log
- html的笔记
- 比较美观的ListView下拉刷新上拉加载
- nvm node 版本管理器的安装
- 1006 ProblemF
- Java学习笔记之输入输出流(二) 缓冲流、随机流、数组流、数据流、对象流
- 在移动硬盘里装多个linux系统
- C语言版的16进制与字符串互转函数
- 799
- reshape2揉数据
- 获得代理ip并验证