public void handleMessage(Message msg) { switch (msg.what) { case 0: myAdapter.notifyDataSetChanged(); page = 1; ((PullToRefreshLayout) msg.obj).refreshFinish(PullToRefreshLayout.SUCCEED); break; case 1: if (hasMore) { ((PullableListView) msg.obj).finishLoading(); } else { listView.setHasMoreData(false); } myAdapter.notifyDataSetChanged(); break; case 2: listView.setHasMoreData(true); page = 1; ((PullToRefreshLayout) msg.obj).refreshFinish(PullToRefreshLayout.FAIL); break; } };
private void initLayout() { ((PullToRefreshLayout) consultationListAllFragment.findViewById(R.id.consulation_list_all_refresh_view)) .setOnRefreshListener( new OnRefreshListener() { @Override public void onRefresh(final PullToRefreshLayout pullToRefreshLayout) { Map<String, String> parmas = new HashMap<String, String>(); parmas.put("page", "1"); parmas.put("rows", "10"); parmas.put("accessToken", ClientUtil.getToken()); parmas.put("uid", editor.get("uid", "")); parmas.put("userTp", editor.get("userType", "")); parmas.put("status", "bbs"); OpenApiService.getInstance(consultationListAllFragment.getContext()) .getPatientCaseList( mQueue, parmas, new Response.Listener<String>() { @Override public void onResponse(String arg0) { try { JSONObject responses = new JSONObject(arg0); if (responses.getInt("rtnCode") == 1) { JSONArray infos = responses.getJSONArray("pcases"); patientList.clear(); for (int i = 0; i < infos.length(); i++) { JSONObject info = infos.getJSONObject(i); CasesTo pcasesTo = new CasesTo(); pcasesTo.setId(info.getString("id")); pcasesTo.setStatus(info.getString("status")); pcasesTo.setStatus_des(info.getString("status_desc")); pcasesTo.setDestination(info.getString("destination")); String createTime = info.getString("create_time"); if (createTime.equals("null")) { pcasesTo.setCreate_time(0); } else { pcasesTo.setCreate_time(Long.parseLong(createTime)); } pcasesTo.setTitle(info.getString("title")); pcasesTo.setDepart_id(info.getString("depart_id")); pcasesTo.setDoctor_userid(info.getString("doctor_userid")); String consult_fee = info.getString("consult_fee"); if (consult_fee.equals("null")) { pcasesTo.setConsult_fee("0"); } else { pcasesTo.setConsult_fee(consult_fee); } pcasesTo.setPatient_name(info.getString("patient_name")); pcasesTo.setDoctor_name(info.getString("doctor_name")); pcasesTo.setExpert_userid(info.getString("expert_userid")); pcasesTo.setExpert_name(info.getString("expert_name")); pcasesTo.setProblem(info.getString("problem")); pcasesTo.setConsult_tp(info.getString("consult_tp")); pcasesTo.setOpinion(info.getString("opinion")); PatientTo patientTo = new PatientTo(); JSONObject pObject = info.getJSONObject("user"); patientTo.setAddress(pObject.getString("address")); patientTo.setId(pObject.getInt("id") + ""); patientTo.setState(pObject.getString("state")); patientTo.setTp(pObject.getString("tp")); patientTo.setUserBalance(pObject.getString("userBalance")); patientTo.setMobile_ph(pObject.getString("mobile_ph")); patientTo.setPwd(pObject.getString("pwd")); patientTo.setReal_name(pObject.getString("real_name")); patientTo.setSex(pObject.getString("sex")); patientTo.setBirth_year(pObject.getString("birth_year")); patientTo.setBirth_month(pObject.getString("birth_month")); patientTo.setBirth_day(pObject.getString("birth_day")); patientTo.setIdentity_id(pObject.getString("identity_id")); patientTo.setArea_province(pObject.getString("area_province")); patientTo.setArea_city(pObject.getString("area_city")); patientTo.setArea_county(pObject.getString("area_county")); patientTo.setIcon_url(pObject.getString("icon_url")); patientTo.setModify_time(pObject.getString("modify_time")); pcasesTo.setPatient(patientTo); patientList.add(pcasesTo); } if (infos.length() == 10) { patientListView.setHasMoreData(true); } else { patientListView.setHasMoreData(false); } Message msg = handler.obtainMessage(); msg.what = 0; msg.obj = pullToRefreshLayout; handler.sendMessage(msg); } else if (responses.getInt("rtnCode") == 10004) { Message msg = handler.obtainMessage(); msg.what = 2; msg.obj = pullToRefreshLayout; handler.sendMessage(msg); Toast.makeText( consultationListAllFragment.getContext(), responses.getString("rtnMsg"), Toast.LENGTH_SHORT) .show(); LoginActivity.setHandler( new ConsultationCallbackHandler() { @Override public void onSuccess(String rspContent, int statusCode) { initData(); } @Override public void onFailure(ConsultationCallbackException exp) {} }); startActivity( new Intent( consultationListAllFragment.getContext(), LoginActivity.class)); } else { Message msg = handler.obtainMessage(); msg.what = 2; msg.obj = pullToRefreshLayout; handler.sendMessage(msg); Toast.makeText( consultationListAllFragment.getContext(), responses.getString("rtnMsg"), Toast.LENGTH_SHORT) .show(); } } catch (JSONException e) { e.printStackTrace(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError arg0) { Message msg = handler.obtainMessage(); msg.what = 2; msg.obj = pullToRefreshLayout; handler.sendMessage(msg); Toast.makeText( consultationListAllFragment.getContext(), "网络连接失败,请稍后重试", Toast.LENGTH_SHORT) .show(); } }); } }); patientListView = (PullableListView) consultationListAllFragment.findViewById(R.id.consulation_list_all_listView); patientListView.setAdapter(myAdapter); patientListView.setOnLoadListener(this); patientListView.setOnItemClickListener( new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Intent intent = new Intent(consultationListAllFragment.getContext(), CaseInfoNewActivity.class); intent.putExtra("caseId", patientList.get(position).getId()); startActivityForResult(intent, 0); } }); MyBroadcastReceiver.setHander( new ConsultationCallbackHandler() { @Override public void onSuccess(String rspContent, int statusCode) { patientList.clear(); initData(); myAdapter.notifyDataSetChanged(); } @Override public void onFailure(ConsultationCallbackException exp) {} }); }
private void initView() { title_text = (TextView) findViewById(R.id.header_text); title_text.setText("消费记录"); title_text.setTextSize(20); back_layout = (LinearLayout) findViewById(R.id.header_layout_lift); back_layout.setVisibility(View.VISIBLE); back_text = (TextView) findViewById(R.id.header_text_lift); back_text.setTextSize(18); back_layout.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); if (imm.isActive()) { imm.hideSoftInputFromWindow(v.getApplicationWindowToken(), 0); } finish(); } }); titleAmount = (TextView) findViewById(R.id.my_acount_pay_title_amount_text); titleAmount.setTextSize(18); titleStatus = (TextView) findViewById(R.id.my_acount_pay_title_status_text); titleStatus.setTextSize(18); titleStatus.setText("状态"); titleTime = (TextView) findViewById(R.id.my_acount_pay_title_time_text); titleTime.setTextSize(18); ((PullToRefreshLayout) findViewById(R.id.my_acount_pay_list_refresh_view)) .setOnRefreshListener( new OnRefreshListener() { @Override public void onRefresh(final PullToRefreshLayout pullToRefreshLayout) { Map<String, String> parmas = new HashMap<String, String>(); parmas.put("uid", editor.get("uid", "")); parmas.put("accessToken", ClientUtil.getToken()); parmas.put("page", "1"); parmas.put("rows", "10"); OpenApiService.getInstance(PayRecordActivity.this) .getMyAcountPayRecord( mQueue, parmas, new Response.Listener<String>() { @Override public void onResponse(String arg0) { try { JSONObject responses = new JSONObject(arg0); if (responses.getInt("rtnCode") == 1) { payRecordTos.clear(); JSONArray infos = responses.getJSONArray("payments"); for (int i = 0; i < infos.length(); i++) { JSONObject info = infos.getJSONObject(i); PayRecordTo payRecordTo = new PayRecordTo(); payRecordTo.setAmount(info.getString("amount")); payRecordTo.setCreate_time(info.getString("create_time")); payRecordTo.setType(info.getString("status")); JSONObject caseJsonObject = info.getJSONObject("patientCase"); CasesTo casesTo = new CasesTo(); casesTo.setTitle(caseJsonObject.getString("title")); casesTo.setDoctor_name(caseJsonObject.getString("doctor_name")); casesTo.setExpert_name(caseJsonObject.getString("expert_name")); if (!"".equals(caseJsonObject.getString("create_time")) && !"null".equals(caseJsonObject.getString("create_time"))) { casesTo.setCreate_time( Long.parseLong(caseJsonObject.getString("create_time"))); } else { casesTo.setCreate_time(0); } payRecordTo.setCasesTo(casesTo); payRecordTos.add(payRecordTo); } if (infos.length() == 10) { listView.setHasMoreData(true); } else { listView.setHasMoreData(false); } Message msg = handler.obtainMessage(); msg.what = 0; msg.obj = pullToRefreshLayout; handler.sendMessage(msg); } else if (responses.getInt("rtnCode") == 10004) { Message msg = handler.obtainMessage(); msg.what = 2; msg.obj = pullToRefreshLayout; handler.sendMessage(msg); Toast.makeText( PayRecordActivity.this, responses.getString("rtnMsg"), Toast.LENGTH_SHORT) .show(); LoginActivity.setHandler( new ConsultationCallbackHandler() { @Override public void onSuccess(String rspContent, int statusCode) { initDate(); } @Override public void onFailure(ConsultationCallbackException exp) {} }); startActivity( new Intent(PayRecordActivity.this, LoginActivity.class)); } else { Message msg = handler.obtainMessage(); msg.what = 2; msg.obj = pullToRefreshLayout; handler.sendMessage(msg); Toast.makeText( PayRecordActivity.this, responses.getString("rtnMsg"), Toast.LENGTH_SHORT) .show(); } } catch (JSONException e) { e.printStackTrace(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError arg0) { Message msg = handler.obtainMessage(); msg.what = 2; msg.obj = pullToRefreshLayout; handler.sendMessage(msg); Toast.makeText( PayRecordActivity.this, "网络连接失败,请稍后重试", Toast.LENGTH_SHORT) .show(); } }); } }); listView = (PullableListView) findViewById(R.id.my_acount_pay_title_list_listView); listView.setAdapter(myAdapter); listView.setOnLoadListener(this); listView.setOnItemClickListener( new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { ViewHolder viewHolder = (ViewHolder) view.getTag(); if (viewHolder.caseLayout.isShown()) { viewHolder.caseLayout.setVisibility(View.GONE); viewHolder.icon.setImageResource(R.drawable.pay_close); } else { viewHolder.caseLayout.setVisibility(View.VISIBLE); viewHolder.icon.setImageResource(R.drawable.pay_open); } } }); }