上拉刷新下拉加载
来源:互联网 发布:美国留学 知乎 编辑:程序博客网 时间:2024/04/20 08:15
public class Fragment01 extends Fragment {
private XListView xlv;
private int page=1;
private int type=1;
private String url;
private String dataType;
private List<User.DataBean> list=new ArrayList<>();
private Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if(type==1){
xlv.stopRefresh();
Date date=new Date(System.currentTimeMillis());
SimpleDateFormat format=new SimpleDateFormat("HH:mm:ss");
String time = format.format(date);
xlv.setRefreshTime(time);
}else{
xlv.stopLoadMore();
}
}
};
尽缘! 2017/11/12 19:42:24
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment, container, false);
xlv = (XListView) view.findViewById(R.id.xlv);
Bundle bundle = getArguments();
dataType= bundle.getString("value");
url ="http://api.expoon.com/AppNews/getNewsList/type/
"+dataType+"/p/"+page;
xlv.setPullRefreshEnable(true);
xlv.setPullLoadEnable(true);
xlv.setXListViewListener(new XListView.IXListViewListener() {
@Override
public void onRefresh() {
type=1;
page=1;
new MyTesk().execute(url);
}
@Override
public void onLoadMore() {
type=2;
page++;
new MyTesk().execute(url);
}
});
new MyTesk().execute(url);
return view;
}
尽缘! 2017/11/12 19:42:43
class MyTesk extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
try {
URL url = new URL(params[0]);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setReadTimeout(30000);
connection.setReadTimeout(30000);
int code = connection.getResponseCode();
if (code == 200) {
InputStream inputStream = connection.getInputStream();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
int len = 0;
byte[] buffer = new byte[1024];
while ((len = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, len);
}
outputStream.close();
inputStream.close();
String s = outputStream.toString();
return s;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
尽缘! 2017/11/12 19:43:04
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Gson gson = new Gson();
User user = gson.fromJson(s,User.class);
// List<User.DataBean> list = user.getData();
// list.addAll(user.getData());
if(type==1){
list.clear();
list.addAll(user.getData());
}else{
list.addAll(user.getData());
}
MyAdapter myAdapter = new MyAdapter(list, getActivity());
xlv.setAdapter(myAdapter);
handler.sendEmptyMessageDelayed(0,1000);
}
}
}
private XListView xlv;
private int page=1;
private int type=1;
private String url;
private String dataType;
private List<User.DataBean> list=new ArrayList<>();
private Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if(type==1){
xlv.stopRefresh();
Date date=new Date(System.currentTimeMillis());
SimpleDateFormat format=new SimpleDateFormat("HH:mm:ss");
String time = format.format(date);
xlv.setRefreshTime(time);
}else{
xlv.stopLoadMore();
}
}
};
尽缘! 2017/11/12 19:42:24
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment, container, false);
xlv = (XListView) view.findViewById(R.id.xlv);
Bundle bundle = getArguments();
dataType= bundle.getString("value");
url ="http://api.expoon.com/AppNews/getNewsList/type/
"+dataType+"/p/"+page;
xlv.setPullRefreshEnable(true);
xlv.setPullLoadEnable(true);
xlv.setXListViewListener(new XListView.IXListViewListener() {
@Override
public void onRefresh() {
type=1;
page=1;
new MyTesk().execute(url);
}
@Override
public void onLoadMore() {
type=2;
page++;
new MyTesk().execute(url);
}
});
new MyTesk().execute(url);
return view;
}
尽缘! 2017/11/12 19:42:43
class MyTesk extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
try {
URL url = new URL(params[0]);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setReadTimeout(30000);
connection.setReadTimeout(30000);
int code = connection.getResponseCode();
if (code == 200) {
InputStream inputStream = connection.getInputStream();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
int len = 0;
byte[] buffer = new byte[1024];
while ((len = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, len);
}
outputStream.close();
inputStream.close();
String s = outputStream.toString();
return s;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
尽缘! 2017/11/12 19:43:04
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Gson gson = new Gson();
User user = gson.fromJson(s,User.class);
// List<User.DataBean> list = user.getData();
// list.addAll(user.getData());
if(type==1){
list.clear();
list.addAll(user.getData());
}else{
list.addAll(user.getData());
}
MyAdapter myAdapter = new MyAdapter(list, getActivity());
xlv.setAdapter(myAdapter);
handler.sendEmptyMessageDelayed(0,1000);
}
}
}
阅读全文
0 0
- 上拉加载 下拉刷新
- 下拉刷新 * 上拉加载
- 上拉刷新 下拉加载
- 下拉刷新,上拉加载
- 上拉刷新下拉加载
- 下拉刷新,上拉加载
- 上拉刷新,下拉加载
- 上拉刷新下拉加载
- 上拉刷新下拉加载
- 上拉加载,下拉刷新
- 上拉刷新,下拉加载
- 下拉刷新,上拉加载
- 上拉加载,下拉刷新
- 上拉刷新,下拉加载
- 下拉加载上拉刷新
- 下拉刷新-上拉加载
- 上拉刷新,下拉加载
- 上拉加载,下拉刷新
- Docker Tomcat容器部署web应用(war)
- RGB颜色表示
- 初学Java入门
- c++常见练习题下
- 习题5(5.3)
- 上拉刷新下拉加载
- do while语句
- jQuery表单验证添加数据删除数据
- “猪法”and“熊法”
- SpringMVC
- ubuntu shell编程
- EventBus3.0
- 我的NOIP-Bzy
- ZOJ 3985 String of CCPC