package cn.coderss.fragment;
import java.util.ArrayList;
import java.util.HashMap;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import net.tsz.afinal.http.AjaxCallBack;
import net.tsz.afinal.http.AjaxParams;
import cn.coderss.activity.DocumentDetailActivity;
import cn.coderss.adapter.DocumentAdapter;
import cn.coderss.api.FssApi;
import cn.coderss.bean.DocumentBean;
import cn.coderss.bean.NoteBean;
import cn.coderss.edu.R;
import cn.coderss.pulltorefresh.PullToRefreshBase;
import cn.coderss.pulltorefresh.PullToRefreshGridView;
import cn.coderss.pulltorefresh.PullToRefreshBase.OnRefreshListener;
import cn.coderss.util.L;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.text.Layout;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.ListView;
import android.widget.AdapterView.OnItemClickListener;
@SuppressLint("ValidFragment")
public class DocumentFragment extends Fragment implements OnItemClickListener {
PullToRefreshGridView pull;
GridView gridview;
DocumentAdapter adapter;
Context mcontext;
ArrayList<DocumentBean> dataList = new ArrayList<DocumentBean>();
View mview;
// 页码
int page = 0;
int num = 10;
public DocumentFragment(Context mcontext) {
super();
this.mcontext = mcontext;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
LayoutInflater li = LayoutInflater.from(mcontext);
mview = li.inflate(R.layout.fragment_document, null);
initView();
return mview;
}
public void loaddata(final boolean refresh) {
FssApi.getHttp().get(
FssApi.DOCUMENTINDEX + "&page=" + page + "&num" + num,
new AjaxCallBack<Object>() {
@Override
public void onStart() {
super.onStart();
if (refresh) {
page = 0;
dataList.removeAll(dataList);
adapter.notifyDataSetChanged();
}
}
@Override
public void onSuccess(Object t) {
super.onSuccess(t);
L.i("我的数据:" + t.toString());
ArrayList<DocumentBean> tmp = new Gson().fromJson(
t.toString(),
new TypeToken<ArrayList<DocumentBean>>() {
}.getType());
if (tmp != null) {
for (DocumentBean documentListBean : tmp) {
dataList.add(documentListBean);
}
}
adapter.notifyDataSetChanged();
}
});
}
public void initView() {
pull = (PullToRefreshGridView) mview.findViewById(R.id.gridview);
pull.setPullLoadEnabled(false);
pull.setScrollLoadEnabled(true);
pull.setOnRefreshListener(new OnRefreshListener<GridView>() {
@Override
public void onPullDownToRefresh(
PullToRefreshBase<GridView> refreshView) {
loaddata(true);
pull.onPullDownRefreshComplete();
}
@Override
public void onPullUpToRefresh(
PullToRefreshBase<GridView> refreshView) {
page++;
loaddata(false);
pull.onPullUpRefreshComplete();
}
});
pull.doPullRefreshing(true, 500);
gridview = pull.getRefreshableView();
gridview.setNumColumns(2);
adapter = new DocumentAdapter(dataList, mcontext);
gridview.setAdapter(adapter);
gridview.setOnItemClickListener(this);
}
@Override
public void onItemClick(AdapterView<?> adapter, View v, int position,
long arg3) {
Intent it = new Intent(mcontext, DocumentDetailActivity.class);
DocumentBean bean = dataList.get(position);
DocumentDetailActivity.bean = bean;
DocumentDetailActivity.id = bean.id;
startActivity(it);
}
}