package com.bwei.pp.fragment;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
import com.bwei.bean.User;
import com.bwei.bean.Userss;
import com.bwei.pp.R;
import com.example.adapter.MyAdapter;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshBase.OnLastItemVisibleListener;
import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import com.thoughtworks.xstream.XStream;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.text.format.DateUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import android.widget.Toast;
public class Fragment1 extends Fragment {
private PullToRefreshListView mPullToRefreshListView;
private MyAdapter adapter;
private int i=2;
private int j=10;
private String url="http://www.oschina.net/action/api/news_list?catalog=1";
private ListView actuaListView;
private ListView lv;
@Override
public View onCreateView(LayoutInflater inflater,
@Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
// TODO Auto-generated method stub
View view=inflater.inflate(R.layout.fragment, null);
mPullToRefreshListView=(PullToRefreshListView) view.findViewById(R.id.refresh_list);
mPullToRefreshListView.setOnRefreshListener(new OnRefreshListener<ListView>() {
@Override
public void onRefresh(PullToRefreshBase<ListView> refreshView) {
// TODO Auto-generated method stub
String label=DateUtils.formatDateTime(getActivity(), System.currentTimeMillis(), DateUtils.FORMAT_SHOW_TIME|DateUtils.FORMAT_SHOW_DATE|DateUtils.FORMAT_ABBREV_ALL);
refreshView.getLoadingLayoutProxy().setLastUpdatedLabel(label);
new GetDataTask().execute();
}
});
mPullToRefreshListView.setOnLastItemVisibleListener(new OnLastItemVisibleListener() {
@Override
public void onLastItemVisible() {
// TODO Auto-generated method stub
Toast.makeText(getActivity(), "正在加载", 0).show();
new GetDataTask().execute();
}
});
actuaListView=mPullToRefreshListView.getRefreshableView();
return view;
}
private class GetDataTask extends AsyncTask<Void, Void, List<User>>{
@Override
protected List<User> doInBackground(Void... params) {
// TODO Auto-generated method stub
i++;
List<User> list=null;
XStream xStream=new XStream();
xStream.processAnnotations(Userss.class);
try {
Userss userss=(Userss) xStream.fromXML(new URL(url));
list=userss.getNewslist().getNews();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
@Override
protected void onPostExecute(List<User> result) {
// TODO Auto-generated method stub
adapter=new MyAdapter(getActivity(), result);
actuaListView.setAdapter(adapter);
adapter.notifyDataSetChanged();
mPullToRefreshListView.onRefreshComplete();
super.onPostExecute(result);
}
}
}