package cn.coderss.fragment; import java.util.ArrayList; 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.NoteDetailActivity; import cn.coderss.adapter.BBSAdapter; import cn.coderss.adapter.NoteAdapter; import cn.coderss.api.FssApi; import cn.coderss.bean.NoteBean; import cn.coderss.edu.R; import cn.coderss.pulltorefresh.PullToRefreshBase; import cn.coderss.pulltorefresh.PullToRefreshListView; import cn.coderss.pulltorefresh.PullToRefreshBase.OnRefreshListener; import cn.coderss.ui.BootstrapButton; import cn.coderss.util.L; import android.annotation.SuppressLint; import android.app.Activity; import android.app.AlertDialog; import android.app.ProgressDialog; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.DialogInterface.OnClickListener; import android.os.Bundle; 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 android.widget.LinearLayout; import android.widget.ListView; @SuppressLint("ValidFragment") public class NoteFragment extends Fragment implements OnItemClickListener { View mview; Context mcontext; ListView listview; NoteAdapter adapter; ArrayList<NoteBean> datalist = new ArrayList<NoteBean>(); private PullToRefreshListView mPullListView; // 页码和数量 public String num = "10"; public int page = 0; ProgressDialog dia; public NoteFragment(Context mcontext) { super(); this.mcontext = mcontext; dia = new ProgressDialog(mcontext); dia.setTitle("提 示"); dia.setMessage("数据正在加载......"); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { LayoutInflater li = LayoutInflater.from(mcontext); mview = li.inflate(R.layout.fragment_note, null); initView(); loadData(true); return mview; } public void loadData(final boolean refresh) { FssApi.getHttp().get(FssApi.NOTE + "&num=" + num + "&=page" + page, new AjaxCallBack<Object>() { @Override public void onStart() { super.onStart(); if (refresh) { page = 0; datalist.removeAll(datalist); adapter.notifyDataSetChanged(); dia.show(); } } @Override public void onSuccess(Object t) { super.onSuccess(t); L.i(t.toString()); dia.dismiss(); ArrayList<NoteBean> tmp = new Gson().fromJson( t.toString(), new TypeToken<ArrayList<NoteBean>>() { }.getType()); for (NoteBean noteBean : tmp) { datalist.add(noteBean); } adapter.notifyDataSetChanged(); } }); } public void initView() { mPullListView = (PullToRefreshListView) mview .findViewById(R.id.mylistview); mPullListView.setPullLoadEnabled(false); mPullListView.setScrollLoadEnabled(true); mPullListView.setOnRefreshListener(new OnRefreshListener<ListView>() { @Override public void onPullDownToRefresh( PullToRefreshBase<ListView> refreshView) { loadData(true); mPullListView.onPullDownRefreshComplete(); } @Override public void onPullUpToRefresh( PullToRefreshBase<ListView> refreshView) { page++; loadData(false); mPullListView.onPullUpRefreshComplete(); } }); mPullListView.doPullRefreshing(true, 500); listview = mPullListView.getRefreshableView(); adapter = new NoteAdapter(datalist, mcontext); listview.setAdapter(adapter); listview.setOnItemClickListener(this); } @Override public void onPause() { super.onPause(); LinearLayout ll = (LinearLayout) ((Activity) mcontext) .findViewById(R.id.titleView); LinearLayout ll2 = (LinearLayout) ((Activity) mcontext) .findViewById(R.id.titleView2); ll.removeAllViews(); ll2.removeAllViews(); } @Override public void onResume() { super.onResume(); LinearLayout ll = (LinearLayout) ((Activity) mcontext) .findViewById(R.id.titleView); // 个人中心按钮 BootstrapButton note = new BootstrapButton(mcontext); note.mytext = "我的手记"; note.bootstrapType = "success"; note.iconLeft = "fa-android"; note.layoutWidth = 200; note.initialise(null); ll.addView(note); } @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { Intent it = new Intent(mcontext, NoteDetailActivity.class); NoteBean bean = datalist.get(arg2); it.putExtra("id", bean.id); startActivity(it); } }