csdnListView上拉加载上拉刷新界面
来源:互联网 发布:apache svn服务器搭建 编辑:程序博客网 时间:2024/06/07 03:26
package com.bwie.testOneFull.fragment;
import java.io.ByteArrayInputStream;
import java.util.ArrayList;
import java.util.List;
import me.maxwin.view.XListView;
import me.maxwin.view.XListView.IXListViewListener;
import com.bwie.testOneFull.R;
import com.bwie.testOneFull.R.layout;
import com.bwie.testOneFull.utils.MyPullParser;
import com.bwie.testOneFull.utils.NewsList;
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;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
@SuppressLint("InflateParams")
public class FragmentOne extends Fragment implements IXListViewListener {
private View view;
private XListView mListView;
private MyAdapter adapter;
private int i = 1;
List<NewsList> newsParsesr = new ArrayList<>();
@Override
public View onCreateView(LayoutInflater inflater,
@Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragmentone, null);
mListView = (XListView) view.findViewById(R.id.mListView);
mListView.setPullLoadEnable(true);
mListView.setXListViewListener(this);
getInfo("刷新");
return view;
}
private void getInfo(final String str) {
// TODO Auto-generated method stub
HttpUtils utils = new HttpUtils();
String url = "http://www.oschina.net/action/api/news_list?catalog=1&pageIndex="
+ i + "&pageSize=10";
utils.send(HttpMethod.GET, url, new RequestCallBack<String>() {
public void onFailure(HttpException arg0, String arg1) {
// TODO Auto-generated method stub
Toast.makeText(getActivity(), "请检查网络", 0).show();
}
@Override
public void onSuccess(ResponseInfo<String> info) {
// 请求成功
String result = info.result;
// 获取流
ByteArrayInputStream bis = new ByteArrayInputStream(result
.getBytes());
// 解析流 通过Pull进行解析
List<NewsList> pullParsesr = MyPullParser.pullParsesr(bis);
if (str.equals("刷新")) {
newsParsesr.addAll(0, pullParsesr);
} else {
newsParsesr.addAll(pullParsesr);
}
// 设置适配器
setAdapter();
}
});
}
private void setAdapter() {
if (adapter == null) {
adapter = new MyAdapter(getActivity(), newsParsesr);
mListView.setAdapter(adapter);
} else {
adapter.notifyDataSetChanged();
}
}
@Override
public void onRefresh() {
// TODO Auto-generated method stub
new Handler().postAtTime(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
i = i + 1;
getInfo("刷新");
onLoder();
}
}, 2000);
}
@Override
public void onLoadMore() {
// TODO Auto-generated method stub
new Handler().postAtTime(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
i = i + 1;
getInfo("加载");
onLoder();
}
}, 2000);
}
private void onLoder() {
mListView.stopRefresh();
mListView.stopLoadMore();
mListView.setRefreshTime("刚刚");
}
}
import java.io.ByteArrayInputStream;
import java.util.ArrayList;
import java.util.List;
import me.maxwin.view.XListView;
import me.maxwin.view.XListView.IXListViewListener;
import com.bwie.testOneFull.R;
import com.bwie.testOneFull.R.layout;
import com.bwie.testOneFull.utils.MyPullParser;
import com.bwie.testOneFull.utils.NewsList;
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;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
@SuppressLint("InflateParams")
public class FragmentOne extends Fragment implements IXListViewListener {
private View view;
private XListView mListView;
private MyAdapter adapter;
private int i = 1;
List<NewsList> newsParsesr = new ArrayList<>();
@Override
public View onCreateView(LayoutInflater inflater,
@Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragmentone, null);
mListView = (XListView) view.findViewById(R.id.mListView);
mListView.setPullLoadEnable(true);
mListView.setXListViewListener(this);
getInfo("刷新");
return view;
}
private void getInfo(final String str) {
// TODO Auto-generated method stub
HttpUtils utils = new HttpUtils();
String url = "http://www.oschina.net/action/api/news_list?catalog=1&pageIndex="
+ i + "&pageSize=10";
utils.send(HttpMethod.GET, url, new RequestCallBack<String>() {
public void onFailure(HttpException arg0, String arg1) {
// TODO Auto-generated method stub
Toast.makeText(getActivity(), "请检查网络", 0).show();
}
@Override
public void onSuccess(ResponseInfo<String> info) {
// 请求成功
String result = info.result;
// 获取流
ByteArrayInputStream bis = new ByteArrayInputStream(result
.getBytes());
// 解析流 通过Pull进行解析
List<NewsList> pullParsesr = MyPullParser.pullParsesr(bis);
if (str.equals("刷新")) {
newsParsesr.addAll(0, pullParsesr);
} else {
newsParsesr.addAll(pullParsesr);
}
// 设置适配器
setAdapter();
}
});
}
private void setAdapter() {
if (adapter == null) {
adapter = new MyAdapter(getActivity(), newsParsesr);
mListView.setAdapter(adapter);
} else {
adapter.notifyDataSetChanged();
}
}
@Override
public void onRefresh() {
// TODO Auto-generated method stub
new Handler().postAtTime(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
i = i + 1;
getInfo("刷新");
onLoder();
}
}, 2000);
}
@Override
public void onLoadMore() {
// TODO Auto-generated method stub
new Handler().postAtTime(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
i = i + 1;
getInfo("加载");
onLoder();
}
}, 2000);
}
private void onLoder() {
mListView.stopRefresh();
mListView.stopLoadMore();
mListView.setRefreshTime("刚刚");
}
}
0 0
- csdnListView上拉加载上拉刷新界面
- UITableView之下拉刷新上拉加载
- 上拉加载 下拉刷新
- 下拉刷新 * 上拉加载
- 上拉刷新 下拉加载
- 下拉刷新,上拉加载
- 上拉刷新下拉加载
- 下拉刷新,上拉加载
- 上拉刷新,下拉加载
- 上拉刷新下拉加载
- 上拉刷新下拉加载
- 上拉加载,下拉刷新
- 上拉刷新,下拉加载
- 下拉刷新,上拉加载
- 上拉加载,下拉刷新
- 上拉刷新,下拉加载
- 下拉加载上拉刷新
- 下拉刷新-上拉加载
- 32个兼职方法,总有一个适合你!
- Linux入门笔记——type、switch、help、man、apropos、whatis、info
- Elasticsearch custom analyzer with custom pattern(自定义Analyzer的分词pattern)
- 题目97 兄弟郊游问题
- Elasticsearch 5.0 简介(medcl微信直播实录)
- csdnListView上拉加载上拉刷新界面
- 51nod 1267 4个数和为0 哈希+二分
- Android 代码混淆机制
- HDU 5775 (树状数组)
- tjut 4639
- 题目98 成绩转换
- 数据结构啊----基础知识练习题.
- Android与PHP服务器交互情况(Volley篇)
- 习题3-5 谜题 UVa227