package com.dazhongcun.merchants.fragment; import java.util.List; import com.aaaliua.actionbarpulltorefresh.PullRefreshLayout; import com.aaaliua.actionbarpulltorefresh.PullToRefreshLayout; import com.aaaliua.actionbarpulltorefresh.PullToRefreshLayout.OnRefreshListener; import com.dazhongcun.baseactivity.BaseFragment; import com.dazhongcun.meifa.merchants.R; import com.dazhongcun.merchants.activity.HistoryActivity; import com.dazhongcun.merchants.activity.MainTabActivity; import com.dazhongcun.merchants.adapter.HistoryListAdapter; import com.dazhongcun.merchants.adapter.HistoryRecyclerViewAdapter; import com.dazhongcun.merchants.adapter.HistoryRecyclerViewAdapterDestory; import com.dazhongcun.merchants.adapter.RecyclerViewAdapter; import com.dazhongcun.merchants.application.AppApplication; import com.dazhongcun.merchants.entity.MakeEntity; import com.dazhongcun.merchants.entity.Status; import com.dazhongcun.merchants.user.BasicMember; import com.dazhongcun.merchants.user.LoginActivity; import com.dazhongcun.merchants.utils.ParseJson; import com.dazhongcun.merchants.utils.RequestUri; import com.dazhongcun.views.Toaster; import com.dazhongcun.widget.SwipeRefreshLayoutImp; import com.dazhongcun.widget.SwipeRefreshLayoutImp.Mode; import com.dazhongcun.widget.SwipeRefreshLayoutImp.OnLoadListener; import com.loopj.android.http.AsyncHttpResponseHandler; import com.loopj.android.http.RequestParams; import com.umeng.analytics.MobclickAgent; import roboguice.inject.InjectView; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.app.ActionBarActivity; import android.support.v7.widget.DefaultItemAnimator; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.Toolbar; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.Button; import android.widget.LinearLayout; import android.widget.ListView; /** * 订单fragmetn * @author LT * */ public class HistoryTaskFragment extends BaseFragment { public static int ALL = 1; public static int CANCEL = 2; public static int DONE = 3; @InjectView(R.id.app_loading) View v; @InjectView(R.id.list_view) RecyclerView recyclerView; private int typeID = 1; boolean loading = false; private List<MakeEntity> makes; private HistoryRecyclerViewAdapterDestory adapter; public int number = 1; private boolean loadFlag = false; private String currentCode ; public HistoryTaskFragment(int typeid) { this.typeID = typeid; } public HistoryTaskFragment() { } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_history_task, null); } @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); if(LoginActivity.getLoginKey() == -1){ //用户没有登录 跳转登录 return; } recyclerView.setHasFixedSize(true); recyclerView.setItemAnimator(new DefaultItemAnimator()); // final LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity()); // layoutManager.setOrientation(LinearLayoutManager.VERTICAL); // recyclerView.setLayoutManager(layoutManager); final LinearLayoutManager layoutManager = new LinearLayoutManager( getActivity()); recyclerView.setLayoutManager(layoutManager); recyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL_LIST)); // LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity()); // linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL); // recyclerView.setLayoutManager(linearLayoutManager); recyclerView.setOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrollStateChanged(RecyclerView recyclerView, int newState) { super.onScrollStateChanged(recyclerView, newState); } @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { System.out.println(loadFlag); if (!loading && layoutManager.findLastVisibleItemPosition() == makes.size() - 1 && loadFlag) { loading = true; MakeEntity obj = new MakeEntity(); obj.setLoadtype(MakeEntity.LOADMORE); adapter.add(obj); //去加载更多 loadMore(); } } }); getMakeDate(); } private void loadMore(){ RequestParams params = new RequestParams(); params.put(BasicMember.PARAMS_USERID, LoginActivity.getLoginKey() + ""); params.put(BasicMember.PARAMS_STATUS,currentCode); params.put(RequestUri.CODE, RequestUri.MAKE_CODE); params.put(BasicMember.PARAMS_PAGESIZE, BasicMember.size+""); params.put(BasicMember.PARAMS_PAGENUMBER, (number += 1) +""); System.out.println(RequestUri.BASE_URL + params.toString()); AppApplication.getHttpClient().get(RequestUri.BASE_URL, params, new AsyncHttpResponseHandler() { @Override public void onStart() { // 网络请求开始 } @Override @Deprecated public void onSuccess(String content) { parseJson(content,true); } @Override @Deprecated public void onFailure(Throwable error) { // 设置list的Emptyview } @Override public void onFinish() { } }); } private void getMakeDate(){ RequestParams params = new RequestParams(); params.put(BasicMember.PARAMS_USERID, LoginActivity.getLoginKey()+""); if(typeID == ALL){ StringBuffer buf = new StringBuffer(); buf.append("1"); buf.append(","); buf.append("2"); buf.append(","); buf.append("3"); buf.append(","); buf.append("4"); buf.append(","); buf.append("5"); currentCode = buf.toString(); params.put(BasicMember.PARAMS_STATUS,buf.toString()); }else if(typeID == DONE){ currentCode = 4+""; params.put(BasicMember.PARAMS_STATUS, 4+""); }else if(typeID == CANCEL){ currentCode = 5+""; params.put(BasicMember.PARAMS_STATUS, 5+""); } params.put(RequestUri.CODE, RequestUri.MAKE_CODE); params.put(BasicMember.PARAMS_PAGESIZE, BasicMember.size+""); params.put(BasicMember.PARAMS_PAGENUMBER, number +""); System.out.println(RequestUri.BASE_URL + "?"+params.toString()); //不确定的dialog AppApplication.getHttpClient().get(RequestUri.BASE_URL,params ,new AsyncHttpResponseHandler(){ private boolean isSuc = false; @Override public void onStart() { //网络请求开始 v.setVisibility(View.VISIBLE); } @Override @Deprecated public void onSuccess(String content) { parseJson(content,false); } @Override @Deprecated public void onFailure(Throwable error) { v.setVisibility(View.GONE); //设置list的Emptyview } @Override public void onFinish() { v.setVisibility(View.GONE); } }); } private void parseJson(String json,boolean isload){ if(isload){ List<MakeEntity> more = ParseJson.getMakeEntityList(json); if (more != null) { if(more.size() ==BasicMember.size){ loadFlag = true; }else{ loadFlag = false; } adapter.remove(adapter.getItemCount() - 1); adapter.addAll(more); loading = false; // Toaster.showOneToast("数据添加"); }else{ adapter.remove(adapter.getItemCount() - 1); Toaster.showOneToast("数据加载完成"); } }else{ makes = ParseJson.getMakeEntityList(json); if(makes != null){ if(makes.size() ==BasicMember.size){ loadFlag = true; }else{ loadFlag = false; } adapter = new HistoryRecyclerViewAdapterDestory(getActivity(), makes, getActivity()); recyclerView.setAdapter(adapter); }else{ Status st = ParseJson.getStatus(json); Toaster.showOneToast(st.getMsg()); } } } public static final String TAG = "HistoryTaskFragment"; public void onResume() { super.onResume(); MobclickAgent.onPageStart(TAG); } public void onPause() { super.onPause(); MobclickAgent.onPageEnd(TAG); } }