public class Fragment1Activity extends Fragment {
String url = "http://www.oschina.net/action/api/tweet_list?uid=0&pageIndex=0&pageSize=15";
private View view;
private XListView lv;
private List<Tweet> list;
private MyBaseAdapter adapter;
private int index=15;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
view = inflater.inflate(R.layout.activity_fragment1, container, false);
//初始化数据
initView();
//xutils解析和数据
getData();
//XListView点击事件
initOnclick();
//xlistview的事件
initX();
return view;
}
private void initOnclick() {
// TODO Auto-generated method stub
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
// TODO Auto-generated method stub
Intent intent=new Intent(getActivity(),Position1Activity.class);
intent.putExtra("info", list.get(arg2-1));
startActivity(intent);
}
});
}
private void initX() {
// TODO Auto-generated method stub
// 支持上拉刷新
lv.setPullLoadEnable(true);
// 支持下拉加载
lv.setPullRefreshEnable(true);
lv.setXListViewListener(new IXListViewListener() {
@Override
public void onRefresh() {
// TODO Auto-generated method stub
getData();
onLoad();//设置时间
}
//覆写加载方法
@Override
public void onLoadMore() {
// TODO Auto-generated method stub
getDataflush();
onLoad();//设置时间
}
private void onLoad() {
lv.stopRefresh();
lv.stopLoadMore();
// 设置日期格式
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-ddHH:mm:ss");
// 获取当前系统时间
String nowTime = df.format(new Date(System.currentTimeMillis()));
// 释放时提示正在刷新时的当前时间
lv.setRefreshTime(nowTime);
}
});
}
private void stop() {
lv.stopLoadMore();
lv.stopRefresh();
}
private void getData() {
// TODO Auto-generated method stub
HttpUtils httpUtils = new HttpUtils();
httpUtils.configCurrentHttpCacheExpiry(0);
httpUtils.send(HttpMethod.GET, url, new RequestCallBack<String>() {
@Override
public void onFailure(HttpException arg0, String arg1) {
// TODO Auto-generated method stub
System.out.println("联网请求数据失败");
}
@Override
public void onSuccess(ResponseInfo<String> arg0) {
// TODO Auto-generated method stub
String result = arg0.result;
XStream stream = new XStream();
stream.processAnnotations(Bean.class);
Bean bean = (Bean) stream.fromXML(result);
list = bean.tweets.tweet;
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
adapter = new MyBaseAdapter(getActivity(), list);
lv.setAdapter(adapter);
}
});
}
});
}
private void getDataflush() {
// TODO Auto-generated method stub
index = index + 5;//分页加载
HttpUtils utils = new HttpUtils();
utils.send(HttpMethod.GET, url + index, new RequestCallBack<String>() {
@Override
public void onFailure(HttpException arg0, String arg1) {
}
@Override
public void onSuccess(ResponseInfo<String> arg0) {
// TODO Auto-generated method stub
String result = arg0.result;
XStream stream = new XStream();//解析数据
stream.processAnnotations(Bean.class);
Bean bean = (Bean) stream.fromXML(result);
List<Tweet> tweet = bean.tweets.tweet;
list.addAll(tweet);
getActivity().runOnUiThread(new Runnable() {
public void run() {
adapter.notifyDataSetChanged();//通知适配器改变
}
});
}
});
}
private void initView() {
lv = (XListView) view.findViewById(R.id.lv);
}
}
转载于:https://www.cnblogs.com/btcd/p/5718131.html