package com.youai.aistore.Order; import java.text.SimpleDateFormat; import java.util.ArrayList; import android.content.Context; import android.os.AsyncTask; import android.os.Bundle; import android.view.View; import com.youai.aistore.BaseActivity; import com.youai.aistore.MyApplication; import com.youai.aistore.R; import com.youai.aistore.Util; import com.youai.aistore.Bean.Base; import com.youai.aistore.Bean.ListOrderBean; import com.youai.aistore.Bean.ListOrderBean.OrderBean; import com.youai.aistore.NetInterface.Send; import com.youai.aistore.xlistview.XListView; import com.youai.aistore.xlistview.XListView.IXListViewListener; /** * 全部订单 * * @author Qzr * */ public class AllOrderActivity extends BaseActivity implements IXListViewListener { private Context context; private XListView lv; private MyTask myTask; private ListOrderBean listbean; private ArrayList<OrderBean> list; private AllOrderAdapter adapter; private int page, addtype; private View isnull; public static boolean ispaied; @Override protected void onCreate(Bundle arg0) { super.onCreate(arg0); setTitleTxt(R.string.all_order_title); setTopLeftBackground(R.drawable.btn_back); setContentXml(R.layout.order_all); init(); if (Util.detect(context)) { myTask = new MyTask(); myTask.execute(""); } else { Util.ShowToast(context, R.string.net_work_is_error); } } private void init() { ispaied =false; page = 1; addtype = 1; context = this; lv = (XListView) findViewById(R.id.order_all_listview); isnull = findViewById(R.id.order_isnull_ll); // lv.GoneFooterView(); lv.setFocusable(false); lv.setPullLoadEnable(true); lv.setXListViewListener(this); lv.setEmptyView(isnull); } @Override public void onRefresh() { page = 1; addtype = 1; if (Util.detect(context)) { myTask = new MyTask(); myTask.execute(""); } else { Util.ShowToast(context, R.string.net_work_is_error); } } @Override public void onLoadMore() { page += 1; addtype = 2; if (Util.detect(context)) { myTask = new MyTask(); myTask.execute(""); } else { Util.ShowToast(context, R.string.net_work_is_error); } } private class MyTask extends AsyncTask<Object, Object, Object> { // onPreExecute方法用于在执行后台任务前做一些UI操作 @Override protected void onPreExecute() { // textView.setText("loading..."); Util.startProgressDialog(context); } // doInBackground方法内部执行后台任务,不可在此方法内修改UI @Override protected Object doInBackground(Object... params) { try { Send s = new Send(context); for(int i=0;i<MyApplication.order_list.size();i++){ Base b = s.UpdataOrderStatu(MyApplication.order_list.get(i)); if(b!=null && b.getCode() == 200){ MyApplication.order_list.remove(MyApplication.order_list.get(i)); } } String userid = MyApplication.UserId; listbean = s.getAllOrderlist(userid, page); return listbean; } catch (Exception e) { e.printStackTrace(); } return null; } // onProgressUpdate方法用于更新进度信息 @Override protected void onProgressUpdate(Object... progresses) { } // onPostExecute方法用于在执行完后台任务后更新UI,显示结果 @Override protected void onPostExecute(Object result) { onLoad(); Util.stopProgressDialog(); listbean = (ListOrderBean) result; if (listbean != null) { if (listbean.getCode() == 200) { if (addtype == 1) { list = listbean.getList(); adapter = new AllOrderAdapter(context, list); lv.setAdapter(adapter); } else { ArrayList<OrderBean> l = listbean.getList(); if (l != null && l.size() > 0) { list.addAll(l); if (adapter == null) { adapter = new AllOrderAdapter(context, list); lv.setAdapter(adapter); } else { adapter.setdata(list); adapter.notifyDataSetChanged(); } }else{ page-=1; Util.ShowToast(context,R.string.page_is_final); } } }else if(listbean.getCode() == 500){ Util.ShowToast(context, R.string.net_work_is_error); } else { Util.ShowToast(context, listbean.getMsg()); } } else { if(addtype == 2){ page-=1; } Util.ShowToast(context, R.string.net_work_is_error); } } // onCancelled方法用于在取消执行中的任务时更改UI @Override protected void onCancelled() { Util.stopProgressDialog(); } } private void onLoad() { lv.stopRefresh(); lv.stopLoadMore(); SimpleDateFormat sDateFormat = new SimpleDateFormat( "yyyy-MM-dd hh:mm:ss"); String date = sDateFormat.format(new java.util.Date()); lv.setRefreshTime(date); } @Override protected void onResume() { super.onResume(); if(ispaied){ page = 1; addtype = 1; if (Util.detect(context)) { myTask = new MyTask(); myTask.execute(""); } else { Util.ShowToast(context, R.string.net_work_is_error); } } } }