XListView

来源:互联网 发布:vmware 网络连接 编辑:程序博客网 时间:2024/04/20 05:46
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;@Overridepublic 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() {@Overridepublic 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("刚刚");}@Overridepublic void onRefresh() {mHandler.postDelayed(new Runnable() {@Overridepublic void run() {start = refreshCnt;newslist.clear();geneItems();onLoad();}}, 2000);}@Overridepublic void onLoadMore() {mHandler.postDelayed(new Runnable() {@Overridepublic void run() {geneItems();mAdapter.notifyDataSetChanged();onLoad();}}, 2000);}/** * 网络请求并解析数据 */private void internetGET() {HttpUtils http = new HttpUtils();http.send(HttpMethod.GET,UELSTR,new RequestCallBack<String>(){@Overridepublic 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);}@Overridepublic void onFailure(HttpException error, String msg) {}});}}

0 0