xlistview 上拉刷新 下拉加载


package com.fragment;


import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;


import com.bawei.fristnews.bean.HotResult;
import com.bawei.fristnews.bean.HotResult.DataBean;
import com.example.topnews.IntentActivity;
import com.example.topnews.R;
import com.google.gson.Gson;
import Adapter.MyHotAdapter;
import Utils.MyHttp;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import me.maxwin.view.XListView;
import me.maxwin.view.XListView.IXListViewListener;


public class Fragment1 extends Fragment implements IXListViewListener {


private MyHotAdapter adapter;


private Handler handler;
//热点
String hotPath = "http://ic.snssdk.com/2/article/v25/stream/?category=news_hot&count=20&min_behot_time=1457659116&bd_latitude=4.9E-324&bd_longitude=4.9E-324&bd_loc_time=1457672153&loc_mode=5&lac=4527&cid=28883&iid=3839760160&device_id=12246291682&ac=wifi&channel=baidu&aid=13&app_name=news_article&version_code=460&device_platform=android&device_type=iToolsAVM&os_api=19&os_version=4.4.4&uuid=352284045861006&openudid=84c1c7b192991cc6";
//推荐//String hotPath="http://ic.snssdk.com/2/article/v25/stream/?count=20&min_behot_time=1457659690&bd_latitude=4.9E-324&bd_longitude=4.9E-324&bd_loc_time=1457672153&loc_mode=5&lac=4527&cid=28883&iid=3839760160&device_id=12246291682&ac=wifi&channel=baidu&aid=13&app_name=news_article&version_code=460&device_platform=android&device_type=iToolsAVM&os_api=19&os_version=4.4.4&uuid=352284045861006&openudid=84c1c7b192991cc6";
//汽车//String hotPath="http://ic.snssdk.com/2/article/v25/refresh_tip/?category=news_local&min_behot_time=1457659398&user_city=%E5%8C%97%E4%BA%AC&iid=3839760160&device_id=12246291682&ac=wifi&channel=baidu&aid=13&app_name=news_article&version_code=460&device_platform=android&device_type=iToolsAVM&os_api=19&os_version=4.4.4&uuid=352284045861006&openudid=84c1c7b192991cc6";
//科技//String hotPath="http://ic.snssdk.com/2/article/v25/stream/?category=news_tech&count=20&bd_latitude=4.9E-324&bd_longitude=4.9E-324&bd_loc_time=1458025150&loc_mode=5&lac=4527&cid=28883&iid=3839760160&device_id=12246291682&ac=wifi&channel=baidu&aid=13&app_name=news_article&version_code=460&device_platform=android&device_type=iToolsAVM&os_api=19&os_version=4.4.4&uuid=352284045861006&openudid=84c1c7b192991cc6";
//体育//String hotPath="http://ic.snssdk.com/2/article/v25/stream/?category=news_sports&count=20&bd_latitude=4.9E-324&bd_longitude=4.9E-324&bd_loc_time=1458025150&loc_mode=5&lac=4527&cid=28883&iid=3839760160&device_id=12246291682&ac=wifi&channel=baidu&aid=13&app_name=news_article&version_code=460&device_platform=android&device_type=iToolsAVM&os_api=19&os_version=4.4.4&uuid=352284045861006&openudid=84c1c7b192991cc6";
private XListView listView_hot;
private HotResult result;
ArrayList<DataBean> list = new ArrayList<DataBean>();


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = View.inflate(getActivity(), R.layout.fragment_content, null);
listView_hot = (XListView) view.findViewById(R.id.listView_hot);
listView_hot.setPullLoadEnable(true);
listView_hot.setPullRefreshEnable(true);
listView_hot.setXListViewListener(this);

// 创建handler
handler = new Handler();
return view;
}


@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
//创建线程
new Thread(new Runnable() {


@Override
public void run() {
String readURI = MyHttp.readURI(hotPath);
Gson gson = new Gson();
result = gson.fromJson(readURI, HotResult.class);
list.addAll(result.getData());
getActivity().runOnUiThread(new Runnable() {


@Override
public void run() {
adapter = new MyHotAdapter(getActivity(), list);
listView_hot.setAdapter(adapter);


}
});
}
}) {
}.start();
// 设置点击事件
listView_hot.setOnItemClickListener(new OnItemClickListener() {


@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(getActivity(), IntentActivity.class);
intent.putExtra("path", list.get(position - 1).getUrl());
startActivity(intent);


}
});


}


@Override
public void onRefresh() {
// 上拉刷新
handler.postDelayed(new Runnable() {


@Override
public void run() {
list.clear();
getList();
adapter = new MyHotAdapter(getActivity(), list);
listView_hot.setAdapter(adapter);
// 释放资源
onClose();
}
}, 2000);
}


@Override
public void onLoadMore() {
handler.postDelayed(new Runnable() {


@Override
public void run() {
getList();
adapter.notifyDataSetChanged();
listView_hot.setRefreshTime(new SimpleDateFormat("MM-dd HH:ss:mm").format(new Date()));
onClose();
}
}, 2000);
}


protected void onClose() {
listView_hot.stopRefresh();
listView_hot.stopLoadMore();
}


protected void getList() {
// 为集合添加数据
list.addAll(result.getData());
Log.e("-----", result.getData().toString());


}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值