package com.sshine.huochexing.ticketOnline; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.Locale; import org.apache.http.NameValuePair; import org.apache.http.message.BasicNameValuePair; import org.json.JSONObject; import android.annotation.SuppressLint; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; import android.os.CountDownTimer; import android.os.Handler; import android.os.Message; import android.text.Html; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ExpandableListView; import android.widget.LinearLayout; import android.widget.TextView; import com.actionbarsherlock.app.ActionBar; import com.actionbarsherlock.app.ActionBar.LayoutParams; import com.actionbarsherlock.internal.widget.IcsAdapterView; import com.actionbarsherlock.internal.widget.IcsAdapterView.OnItemSelectedListener; import com.actionbarsherlock.internal.widget.IcsLinearLayout; import com.actionbarsherlock.internal.widget.IcsSpinner; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import com.sshine.huochexing.R; import com.sshine.huochexing.adapter.A6OrderExpandableAdapter; import com.sshine.huochexing.base.BaseAty; import com.sshine.huochexing.bean.A6Info; import com.sshine.huochexing.bean.BookingInfo; import com.sshine.huochexing.bean.OrderDBInfo; import com.sshine.huochexing.bean.StationTrainDTOInfo; import com.sshine.huochexing.bean.TicketAffirmInfo; import com.sshine.huochexing.bean.TicketInfo; import com.sshine.huochexing.model.CustomDialog; import com.sshine.huochexing.trainInfos.AddInfoAty; import com.sshine.huochexing.utils.A6Util; import com.sshine.huochexing.utils.MyApp; import com.sshine.huochexing.utils.MyUtils; import com.sshine.huochexing.utils.PayA6OrderHelper; import com.sshine.huochexing.utils.TimeUtil; import com.sshine.huochexing.value.SF; import com.umeng.analytics.MobclickAgent; import eu.inmite.android.lib.dialogs.ISimpleDialogListener; import eu.inmite.android.lib.dialogs.SimpleDialogFragment; public class A6OrderAty extends BaseAty implements OnClickListener, ISimpleDialogListener { private BookingInfo mBInfo = MyApp.getInstance().getCommonBInfo(); private List<OrderDBInfo> mLstODBInfos = new ArrayList<OrderDBInfo>(); private TextView tvEmptyView; private Button btnCancel; private Button btnPay; private String[] mLocations = { "未完成", "未出行", "历史订单", "其它订单" }; public static final String EXTRA_PRE_LOAD_DATA_INDEX = "extraPreLoadDataIndex"; private static final int REQUEST_CANCEL_ORDER = 1; private static final int REQUEST_PAY = 2; private static final int MSG_CANCEL_ORDER_FAIL = 1; private static final int MSG_CANCEL_ORDER_SUCCESS = 2; private static final int MSG_SHOW_REFUND_TICKET_TIP = 3; private static final int MSG_RETURN_TICKET_SUCCESS = 4; public static final int CONTEXT_GROUP_0 = 0; public static final int CONTEXT_GROUP_1 = 1; public static final int CONTEXT_ITEM_ADD_TRAIN_INFO = 1; public static final int CONTEXT_ITEM_REFUND_TICKET = 2; public static final int CONTEXT_ITEM_RESIGN = 3; private A6OrderExpandableAdapter mAdapter; private LinearLayout llytOperate; private int mNavigationIndex; private ExpandableListView lvOrders; @SuppressLint("HandlerLeak") private Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { case A6Util.MSG_QUERY_ORDER_SUCCESS: showContentView(true); if (mNavigationIndex == 0) { setPanelGone(false); } else { setPanelGone(true); } lvOrders.expandGroup(0); mAdapter.notifyDataSetChanged(); tipLostTime(); break; case A6Util.MSG_NO_COMPLETE_ORDER_EMPTY: switch (mNavigationIndex) { case 0: tvEmptyView.setText("您没有未完成订单"); break; case 1: tvEmptyView.setText("您没有未出行订单"); break; case 2: tvEmptyView.setText("您没有历史订单"); break; } showContentView(true); setPanelGone(true); mAdapter.notifyDataSetChanged(); break; case A6Util.MSG_NO_LOGIN: startActivity(new Intent(A6OrderAty.this, A6LoginAty.class)); A6OrderAty.this.finish(); break; case MSG_CANCEL_ORDER_FAIL: showMsg("取消订单失败" + SF.FAIL); btnCancel.setEnabled(true); break; case MSG_CANCEL_ORDER_SUCCESS: btnCancel.setEnabled(true); showMsg("已成功取消订单" + SF.SUCCESS); setPanelGone(true); mLstODBInfos.clear(); mAdapter.notifyDataSetChanged(); break; case MSG_SHOW_REFUND_TICKET_TIP: showRefundTicktTip((TicketAffirmInfo) msg.obj); break; case MSG_RETURN_TICKET_SUCCESS: requestData(true); break; } } }; private void tipLostTime() { try { TicketInfo tInfo = mLstODBInfos.get(0).getTickets().get(0); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:SS", Locale.CHINA); Date nowTime = new Date(); Date loseTime = sdf1.parse(tInfo.getLose_time()); long diffSS = loseTime.getTime() - nowTime.getTime(); if (diffSS >= 0) { CountDownTimer cdTimer = new CountDownTimer(diffSS, 1000) { @Override public void onFinish() { btnPay.setText("订单信息已过期"); btnPay.setEnabled(false); } @Override public void onTick(long millisUntilFinished) { String str1 = TimeUtil .getFmt_M_S_Str(millisUntilFinished / 1000); // tvPay.setText("立即支付(" + str1+")"); btnPay.setText("剩余时间(" + str1 + ")"); } }; cdTimer.start(); } } catch (Exception e) { e.printStackTrace(); } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setTitle("12306订单"); setContentView(R.layout.aty_a6_order); initContainerViews(); initViews(); initListActionBar(); } private void initListActionBar() { ActionBar actionBar = getSupportActionBar(); Context context = getSupportActionBar().getThemedContext(); ArrayAdapter<CharSequence> adpater = new ArrayAdapter<CharSequence>( context, R.layout.sherlock_spinner_dropdown_item, mLocations); adpater.setDropDownViewResource(R.layout.sherlock_spinner_dropdown_item); IcsSpinner spinner = new IcsSpinner(this, null, R.attr.actionDropDownStyle); spinner.setAdapter(adpater); spinner.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(IcsAdapterView<?> parent, View view, int position, long id) { mNavigationIndex = position; doHeaderTask(); } @Override public void onNothingSelected(IcsAdapterView<?> parent) { } }); if (mNavigationIndex >= 0 && mNavigationIndex < 3){ spinner.setSelection(mNavigationIndex); } IcsLinearLayout listNavLayout = (IcsLinearLayout) getLayoutInflater() .inflate(R.layout.abs__action_bar_tab_bar_view, null); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT); params.gravity = Gravity.CENTER; listNavLayout.addView(spinner, params); actionBar.setCustomView(listNavLayout, new ActionBar.LayoutParams( Gravity.RIGHT)); actionBar.setDisplayShowCustomEnabled(true); } private void initViews() { mNavigationIndex = getIntent() .getIntExtra(EXTRA_PRE_LOAD_DATA_INDEX, 0); llytOperate = (LinearLayout) findViewById(R.id.operate); btnCancel = (Button) findViewById(R.id.cancel); btnCancel.setOnClickListener(this); btnPay = (Button) findViewById(R.id.pay); btnPay.setOnClickListener(this); tvEmptyView = (TextView) findViewById(R.id.emptyView); lvOrders = (ExpandableListView) findViewById(R.id.orders); lvOrders.setEmptyView(tvEmptyView); LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE); View footerView = inflater.inflate(R.layout.fv_a6_order, null); lvOrders.addFooterView(footerView); mAdapter = new A6OrderExpandableAdapter(this, mLstODBInfos); lvOrders.setAdapter(mAdapter); // btnPay.setEnabled(false); setPanelGone(true); } private void setPanelGone(boolean isGone) { int visibility = isGone ? View.GONE : View.VISIBLE; llytOperate.setVisibility(visibility); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.cancel: SimpleDialogFragment .createBuilder(this, getSupportFragmentManager()) .setTitle("提示") .setMessage( getResources().getString(R.string.cancelA6OrderTip)) .setPositiveButtonText("确定").setNegativeButtonText("取消") .setRequestCode(REQUEST_CANCEL_ORDER).show(); break; case R.id.pay: MyUtils.startApp(this, "com.MobileTicket", "未找到12306官方客户端"); // initPayEnvironment(); break; } } // 初始化支付环境 private void initPayEnvironment() { if (mLstODBInfos == null || mLstODBInfos.size() == 0) { showMsg("订单信息错误" + SF.FAIL); return; } startHandle("正在准备订单支付信息...", new Runnable() { @Override public void run() { OrderDBInfo orderDBInfo = mLstODBInfos.get(0); if (orderDBInfo == null) { return; } PayA6OrderHelper paoHelper = new PayA6OrderHelper(orderDBInfo .getSequence_no()); boolean isOK = paoHelper.continuePayNoCompleteMyOrder(mBInfo); if (isOK) { if (paoHelper.payOrderInit(mBInfo)) { sendDismissDialog(); Intent intent = new Intent(A6OrderAty.this, TicketOnlineAty.class); intent.putExtra(TicketOnlineAty.EXTRA_START_PAGE, paoHelper.getPayUrl()); intent.putExtra(TicketOnlineAty.EXTRA_POST_PARAMS, paoHelper.getA6PayPostParams()); startActivityForResult(intent, REQUEST_PAY); } else { sendToast("初始化订单支付信息时出错" + SF.FAIL); } } else { sendToast("此订单已不可支付!"); } } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { case REQUEST_PAY: // 刷新订单数据 requestData(true); break; } super.onActivityResult(requestCode, resultCode, data); } private void requestData(boolean isShowLoading) { if (isShowLoading) { showLoadingView(); } if (mLstODBInfos != null) { mLstODBInfos.clear(); } new Thread(new Runnable() { public void run() { if (A6Util.isNeedCheckUser(mBInfo)) { boolean isLogin = A6Util.checkUser(mBInfo); if (!isLogin) { sendDismissDialog(); Message msg = mHandler .obtainMessage(A6Util.MSG_NO_LOGIN); mHandler.sendMessage(msg); return; } } List<OrderDBInfo> lstODBInfos = null; switch (mNavigationIndex) { case 0: lstODBInfos = queryMyOrderNoComplete(mBInfo); if (lstODBInfos == null) { showContentView(false); sendToast("请求未完成订单数据时出错" + SF.FAIL); return; } break; case 1: lstODBInfos = queryMyOrder(mBInfo, mNavigationIndex); if (lstODBInfos == null) { showContentView(false); sendToast("请求未出行订单数据时出错" + SF.FAIL); return; } case 2: lstODBInfos = queryMyOrder(mBInfo, mNavigationIndex); if (lstODBInfos == null) { showContentView(false); sendToast("请求历史订单数据时出错" + SF.FAIL); return; } break; } mLstODBInfos.clear(); for (OrderDBInfo oDBInfo : lstODBInfos) { mLstODBInfos.add(oDBInfo); } if (mLstODBInfos.size() == 0) { Message msg = mHandler .obtainMessage(A6Util.MSG_NO_COMPLETE_ORDER_EMPTY); mHandler.sendMessage(msg); } else { Message msg = mHandler .obtainMessage(A6Util.MSG_QUERY_ORDER_SUCCESS); mHandler.sendMessage(msg); } }; }).start(); } @Override public void onPositiveButtonClicked(int requestCode) { switch (requestCode) { case REQUEST_CANCEL_ORDER: btnCancel.setEnabled(false); startHandle("正在取消订单...", new Runnable() { public void run() { Boolean isOK = cancelOrder(mBInfo); sendDismissDialog(); if (isOK) { Message msg = mHandler .obtainMessage(MSG_CANCEL_ORDER_SUCCESS); mHandler.sendMessage(msg); } else { Message msg = mHandler .obtainMessage(MSG_CANCEL_ORDER_FAIL); mHandler.sendMessage(msg); } }; }); break; } } @Override public boolean onContextItemSelected(android.view.MenuItem item) { switch (item.getGroupId()) { case CONTEXT_GROUP_0: handleGroup0(item); break; case CONTEXT_GROUP_1: break; } return super.onContextItemSelected(item); } public void handleGroup0(android.view.MenuItem item) { TicketInfo tInfo = mAdapter.getCurrTInfo(); switch (item.getItemId()) { case CONTEXT_ITEM_ADD_TRAIN_INFO: if (tInfo != null) { StationTrainDTOInfo stDTOInfo = tInfo.getStationTrainDTO(); Intent intent = new Intent(this, AddInfoAty.class); intent.putExtra(AddInfoAty.TRAIN_NUM, stDTOInfo.getStation_train_code()); intent.putExtra(AddInfoAty.START_STATION, stDTOInfo.getFrom_station_name()); intent.putExtra(AddInfoAty.END_STATION, stDTOInfo.getTo_station_name()); intent.putExtra(AddInfoAty.EXTRA_START_TIME, tInfo.getStart_train_date_page()); intent.putExtra(AddInfoAty.DATA_SOURCE, AddInfoAty.DATA_FROM_NEWWORK); startActivity(intent); } break; case CONTEXT_ITEM_REFUND_TICKET: tInfo.setWantReturn(true); refundTicket(tInfo); break; case CONTEXT_ITEM_RESIGN: tInfo.setWantResign(true); final OrderDBInfo oDBInfo = mAdapter.getCurrOrderDBInfo(); startHandle(null, new Runnable() { @Override public void run() { boolean isOK = resignTicket(mBInfo, oDBInfo); sendDismissDialog(); if (isOK) { // TODO 待处理 showMsg("调试中..."); } else { sendToast("获取改签信息失败" + SF.FAIL); } } }); break; } } private void refundTicket(final TicketInfo tInfo) { if (tInfo.isWantReturn()) { tInfo.setWantReturn(false); startHandle(null, new Runnable() { @Override public void run() { TicketAffirmInfo taInfo = returnTicketAffirm(mBInfo, tInfo); sendDismissDialog(); if (taInfo == null) { sendToast("初始化退票信息时出错"); } else { Message msg = mHandler .obtainMessage(MSG_SHOW_REFUND_TICKET_TIP); msg.obj = taInfo; mHandler.sendMessage(msg); } } }); } } private void showRefundTicktTip(TicketAffirmInfo taInfo) { if (taInfo == null) { return; } String strMsg = "退票信息:\r\n"; strMsg += "车票票款:<b>" + taInfo.getTicket_price() + "</b>元,退票费:<b>" + taInfo.getReturn_cost() + "</b>元,应退票款:<font color='#ff8c00'>" + taInfo.getReturn_price() + "</font>元,实际核收退票费及应退票款12306会按最终交易时间计算。"; CustomDialog dlg = new CustomDialog.Builder(this, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { switch (which) { case DialogInterface.BUTTON_POSITIVE: startHandle(null, new Runnable() { @Override public void run() { boolean isOK = returnTicket(mBInfo); if (isOK) { Message msg = mHandler .obtainMessage(MSG_RETURN_TICKET_SUCCESS); mHandler.sendMessage(msg); sendToast("退票成功" + SF.SUCCESS); } else { sendToast("退票失败" + SF.FAIL); } } }); break; } } }).setTitle("确认要退票吗?").setMessage(Html.fromHtml(strMsg)) .setPositiveButton("确认").setNagativeButton("取消").create(); dlg.show(); } @Override public void onNegativeButtonClicked(int requestCode) { } private boolean cancelOrder(BookingInfo bInfo) { String url = "https://kyfw.12306.cn/otn/queryOrder/cancelNoCompleteMyOrder"; List<NameValuePair> lstParams = new ArrayList<NameValuePair>(); lstParams.add(new BasicNameValuePair("sequence_no", mLstODBInfos.get(0) .getSequence_no())); lstParams.add(new BasicNameValuePair("cancel_flag", "cancel_order")); lstParams.add(new BasicNameValuePair("_json_att", "")); try { A6Info a6Json = A6Util .post(bInfo, A6Util.makeRefererColl("https://kyfw.12306.cn/otn/queryOrder/initNoComplete"), url, lstParams); JSONObject jsonObj = new JSONObject(a6Json.getData()); if (jsonObj.getString("existError").equals("N")) { return true; } } catch (Exception e) { e.printStackTrace(); } return false; } private List<OrderDBInfo> queryMyOrderNoComplete(BookingInfo bInfo) { String url = "https://kyfw.12306.cn/otn/queryOrder/queryMyOrderNoComplete"; List<NameValuePair> lstParams = new ArrayList<NameValuePair>(); lstParams.add(new BasicNameValuePair("_json_att", "")); try { A6Info a6Json = A6Util .post(bInfo, A6Util.makeRefererColl("https://kyfw.12306.cn/otn/queryOrder/initNoComplete"), url, lstParams); if ("".equals(a6Json.getData())) { return (new ArrayList<OrderDBInfo>()); } else { int index1 = a6Json.getData().indexOf("["); int index2 = a6Json.getData().lastIndexOf("]") + 1; String strOrderDBList = a6Json.getData().substring(index1, index2); List<OrderDBInfo> lstODBInfos = A6Util.getGson().fromJson( strOrderDBList, new TypeToken<List<OrderDBInfo>>() { }.getType()); return lstODBInfos; } } catch (Exception e) { e.printStackTrace(); } return null; } private List<OrderDBInfo> queryMyOrder(BookingInfo bInfo, int index) { String url = "https://kyfw.12306.cn/otn/queryOrder/queryMyOrder"; List<NameValuePair> lstParams = new ArrayList<NameValuePair>(); Calendar c = Calendar.getInstance(Locale.CHINA); c.setTimeInMillis(System.currentTimeMillis()); c.add(Calendar.YEAR, -3); String strQueryStartDate = TimeUtil.getDFormat().format(c.getTime()); lstParams.add(new BasicNameValuePair("queryType", "1")); lstParams.add(new BasicNameValuePair("queryStartDate", strQueryStartDate)); lstParams.add(new BasicNameValuePair("come_from_flag", "my_order")); lstParams.add(new BasicNameValuePair("pageSize", "8")); lstParams.add(new BasicNameValuePair("pageIndex", "0")); String query_where = ""; String strQueryEndDate = ""; c.add(Calendar.YEAR, 3); switch(index){ case 1: strQueryEndDate = TimeUtil.getDFormat().format(c.getTime()); query_where = "G"; break; case 2: c.add(Calendar.DAY_OF_MONTH, -1); strQueryEndDate = TimeUtil.getDFormat().format(c.getTime()); query_where = "H"; break; } lstParams.add(new BasicNameValuePair("queryEndDate", strQueryEndDate)); lstParams.add(new BasicNameValuePair("query_where", query_where)); lstParams.add(new BasicNameValuePair("sequeue_train_name", "")); try { A6Info a6Json = A6Util .post(bInfo, A6Util.makeRefererColl("https://kyfw.12306.cn/otn/queryOrder/init"), url, lstParams); if ("".equals(a6Json.getData())) { return (new ArrayList<OrderDBInfo>()); } else { int index1 = a6Json.getData().indexOf("["); int index2 = a6Json.getData().lastIndexOf("]") + 1; String strOrderDBList = a6Json.getData().substring(index1, index2); List<OrderDBInfo> lstODBInfos = (new Gson()).fromJson( strOrderDBList, new TypeToken<List<OrderDBInfo>>() { }.getType()); return lstODBInfos; } } catch (Exception e) { e.printStackTrace(); } return null; } private TicketAffirmInfo returnTicketAffirm(BookingInfo bInfo, TicketInfo tInfo) { String url = "https://kyfw.12306.cn/otn/queryOrder/returnTicketAffirm"; List<NameValuePair> lstParams = new ArrayList<NameValuePair>(); lstParams.add(new BasicNameValuePair("sequence_no", tInfo .getSequence_no())); lstParams.add(new BasicNameValuePair("batch_no", tInfo.getBatch_no())); lstParams.add(new BasicNameValuePair("coach_no", tInfo.getCoach_no())); lstParams.add(new BasicNameValuePair("seat_no", tInfo.getSeat_no())); lstParams.add(new BasicNameValuePair("start_train_date_page", tInfo .getStart_train_date_page())); lstParams.add(new BasicNameValuePair("train_code", tInfo .getStationTrainDTO().getStation_train_code())); lstParams.add(new BasicNameValuePair("coach_name", tInfo .getCoach_name())); lstParams .add(new BasicNameValuePair("seat_name", tInfo.getSeat_name())); lstParams.add(new BasicNameValuePair("seat_type_name", tInfo .getSeat_type_name())); lstParams.add(new BasicNameValuePair("train_date", tInfo .getTrain_date())); lstParams.add(new BasicNameValuePair("from_station_name", tInfo .getStationTrainDTO().getFrom_station_name())); lstParams.add(new BasicNameValuePair("to_station_name", tInfo .getStationTrainDTO().getTo_station_name())); lstParams.add(new BasicNameValuePair("start_time", tInfo .getStationTrainDTO().getStart_time())); lstParams.add(new BasicNameValuePair("passenger_name", tInfo .getPassengerDTO().getPassenger_name())); lstParams.add(new BasicNameValuePair("_json_att", "")); try { A6Info a6Json = A6Util .post(bInfo, A6Util.makeRefererColl("https://kyfw.12306.cn/otn/queryOrder/init"), url, lstParams); TicketAffirmInfo taInfo = A6Util.getGson().fromJson( a6Json.getData(), TicketAffirmInfo.class); return taInfo; } catch (Exception e) { e.printStackTrace(); } return null; } private boolean returnTicket(BookingInfo bInfo) { String url = "https://kyfw.12306.cn/otn/queryOrder/returnTicket"; List<NameValuePair> lstParams = new ArrayList<NameValuePair>(); lstParams.add(new BasicNameValuePair("_json_att", "")); try { String strHtml = bInfo .getHttpHelper() .post(A6Util .makeRefererColl("https://kyfw.12306.cn/otn/queryOrder/init"), url, lstParams); if (strHtml != null && strHtml.indexOf("退票成功") > 0) { return true; } } catch (Exception e) { e.printStackTrace(); } return false; } /* * 改签 */ private boolean resignTicket(BookingInfo bInfo, OrderDBInfo oDBInfo) { if (mLstODBInfos == null) { return false; } String url = "https://kyfw.12306.cn/otn/queryOrder/resginTicket"; List<NameValuePair> lstParams = new ArrayList<NameValuePair>(); StringBuffer sbKey = new StringBuffer(); String sequence_no = null; List<TicketInfo> lstTInfos = oDBInfo.getTickets(); if (lstTInfos == null) { return false; } for (TicketInfo tInfo : lstTInfos) { if (tInfo.isWantResign()) { tInfo.setWantResign(false); if (sequence_no == null) { sequence_no = tInfo.getSequence_no(); } sbKey.append(tInfo.getSequence_no()).append(",") .append(tInfo.getBatch_no()).append(",") .append(tInfo.getCoach_no()).append(",") .append(tInfo.getSeat_no()).append(",") .append(tInfo.getStart_train_date_page()).append("#"); } } if (sbKey.length() == 0) { return false; } lstParams.add(new BasicNameValuePair("ticketkey", sbKey.toString())); lstParams.add(new BasicNameValuePair("sequenceNo", sequence_no)); lstParams.add(new BasicNameValuePair("_json_att", "")); try { A6Info a6Json = A6Util .post(bInfo, A6Util.makeRefererColl("https://kyfw.12306.cn/otn/queryOrder/init"), url, lstParams); JSONObject jsonObj = new JSONObject(a6Json.getData()); String existError = jsonObj.optString("existError", null); if (existError == null) { return false; } else if (existError.equals("N")) { return true; } } catch (Exception e) { e.printStackTrace(); } return false; } public void onResume() { super.onResume(); MobclickAgent.onResume(this); } public void onPause() { super.onPause(); MobclickAgent.onPause(this); } @Override public void doHeaderTask() { switch (mNavigationIndex) { case 0: case 1: case 2: requestData(true); break; case 3: startActivity(new Intent(A6OrderAty.this, OrderAty.class)); break; } } @Override public void doFooterTask() { } }