package com.yyq.nowday.fragment;
import java.util.ArrayList;
import java.util.List;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
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;
import com.yyq.nowday.adapter.MyBeijingAdapter;
import com.yyq.nowday.bean.Recommend_Data;
import com.yyq.nowday.bean.Recommend_News;
import com.yyq.nowday.view.XListView;
import com.yyq.nowday.view.XListView.IXListViewListener;
import com.yyq.today_news.R;
import com.yyq.today_news.activity.WebView_Activity;
public class Beijing_Fragment extends Fragment implements IXListViewListener{
private XListView mListView;
private MyBeijingAdapter mAdapter;
private List<Recommend_News> news;
private List<Recommend_News> newslist=new ArrayList<Recommend_News>();
private Handler mHandler;
private int start = 0; //加载数据个数设置
private static int refreshCnt = 0; //刷新数据重置个数设置
private static String UELSTR="http://api.baiyue.baidu.com/sn/api/newchosenlist?qq-pf-to=pcqq.c2c";
private View v;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
internetGET();
v = inflater.inflate(R.layout.beijing_fragment, null);
init();
getListener();
return v;
}
/**
* 加载控件并设置mListView
*/
private void init() {
mHandler = new Handler();
mListView = (XListView)v. findViewById(R.id.xListView);
mListView.setPullLoadEnable(true);
mListView.setPullRefreshEnable(true);
}
/**
* 监听设置
*/
private void getListener() {
mListView.setXListViewListener(this);
mListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
String url=newslist.get(arg2).getUrl();
Intent intent=new Intent(getActivity(), WebView_Activity.class);
intent.putExtra("url", url);
startActivityForResult(intent, 1);
}
});
}
private void geneItems() {
for (int i = 0; i != 7; ++i) {
if (start>news.size()) {
return;
}else {
newslist.add(news.get(++start));
}
}
}
private void onLoad() {
mListView.stopRefresh();
mListView.stopLoadMore();
mListView.setRefreshTime("刚刚");
}
@Override
public void onRefresh() {
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
start = refreshCnt;
newslist.clear();
geneItems();
onLoad();
}
}, 2000);
}
@Override
public void onLoadMore() {
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
geneItems();
mAdapter.notifyDataSetChanged();
onLoad();
}
}, 2000);
}
/**
* 网络请求并解析数据
*/
private void internetGET() {
HttpUtils http = new HttpUtils();
http.send(HttpMethod.GET,UELSTR,new RequestCallBack<String>(){
@Override
public void onSuccess(ResponseInfo<String> responseInfo) {
String Sdata=responseInfo.result;
Gson gson=new Gson();
Recommend_Data data=gson.fromJson(Sdata, Recommend_Data.class);
news = data.getData().getNews();
geneItems();
mAdapter = new MyBeijingAdapter(getActivity(), newslist);
mListView.setAdapter(mAdapter);
}
@Override
public void onFailure(HttpException error, String msg) {
}
});
}
}