package eVVM.apk.ui.vaccination; import android.content.Intent; import android.text.SpannableString; import android.text.Spanned; import android.text.TextUtils; import android.text.method.LinkMovementMethod; import android.text.style.ClickableSpan; import android.util.Log; import android.view.View; import android.widget.ImageView; import android.widget.TextView; import butterknife.BindView; import butterknife.OnClick; import eVVM.apk.R; import eVVM.apk.mvp.MvpActivity; import eVVM.apk.ui.bean.VnDetailBean; import eVVM.apk.ui.report.vndetail.VnDetailContract; import eVVM.apk.ui.report.vndetail.VnDetailPresenter; import eVVM.apk.ui.webview.WebActivity; public class VnReportDetailForDoctorActivity extends MvpActivity implements VnDetailContract.View { private boolean isWarning = true; private VnDetailBean.DataBean chipModel = null; @BindView(R.id.vndetail_tv_vncode) TextView vndetailTvVncode; @BindView(R.id.vndetail_tv_vndate) TextView vndetailTvVndate; @BindView(R.id.vndetail_tv_factoryName) TextView vndetailTvFactoryName; @BindView(R.id.vndetail_tv_gmpName) TextView vndetailTvGmpName; @BindView(R.id.vndetail_tv_gmpPath) TextView vndetailTvGmpPath; @BindView(R.id.vndetail_tv_hospitalName) TextView vndetailTvHospitalName; @BindView(R.id.vndetail_tv_doctorName) TextView vndetailTvDoctorName; @BindView(R.id.vndetail_tv_doctorTelephone) TextView vndetailTvDoctorTelephone; @BindView(R.id.vndetail_tv_chatImage) ImageView vndetailTvChatImage; @BindView(R.id.vndetail_tv_othervn1) TextView vndetailTvOthervn1; @BindView(R.id.vndetail_tv_othervn2) TextView vndetailTvOthervn2; @BindView(R.id.vndetail_tv_othervn3) TextView vndetailTvOthervn3; @BindView(R.id.vndetail_iv_tipsimg) ImageView vndetailIvTipsimg; @BindView(R.id.vndetail_tv_tips) TextView vndetailTvTips; @BindView(R.id.vndetail_tv_disclaimer) TextView vndetailTvDisclaimer; @Override protected int getLayoutId() { return R.layout.activity_vn_report_detail_for_doctor; } @Override protected int getTitleId() { return R.id.tb_vndetail_title; } @Override protected void initView() { } @Override protected void initData() { Intent in = getIntent(); chipModel = (VnDetailBean.DataBean) in.getSerializableExtra("dataBean"); //给页面赋值 setViewData(chipModel); isWarning = in.getBooleanExtra("isWarning",true); if (isWarning){ vndetailTvChatImage.setImageResource(R.mipmap.report_warning_ico); }else{ vndetailTvChatImage.setImageResource(R.mipmap.report_normal_ico); } } private void setViewData(final VnDetailBean.DataBean dataBean) { vndetailTvVncode.setText("evvm Code "+dataBean.getCode()); vndetailTvVndate.setText(""+dataBean.getBeginDate()); vndetailTvFactoryName.setText(""+dataBean.getFactoryName()); vndetailTvHospitalName.setText(""+dataBean.getHospitalName()); vndetailTvDoctorName.setText(""+dataBean.getDoctorName()); vndetailTvDoctorTelephone.setText(""+dataBean.getDoctorTelephone()); vndetailTvChatImage.setScaleType(ImageView.ScaleType.CENTER); SpannableString spanGmpPath = new SpannableString(dataBean.getGmpName()); spanGmpPath.setSpan(new ClickableSpan() { @Override public void onClick(View view) { //点击的响应事件 if (dataBean.getGmpPath() == null || TextUtils.isEmpty(dataBean.getGmpPath())){ toast("暂时无法提供,需索取"); }else { Intent in = new Intent(VnReportDetailForDoctorActivity.this,WebActivity.class); in.putExtra("WebViewUrl",""+dataBean.getGmpPath()+""); startActivity(in); } } }, 0, spanGmpPath.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); vndetailTvGmpName.setText(spanGmpPath); vndetailTvGmpName.setMovementMethod(LinkMovementMethod.getInstance());//开始响应点击事件 SpannableString spanvndetailTvOthervn0 = new SpannableString("点击查看"); spanvndetailTvOthervn0.setSpan(new ClickableSpan() { @Override public void onClick(View view) { //点击的响应事件 if (dataBean.getBatchCertificate() == null || TextUtils.isEmpty(dataBean.getBatchCertificate())){ toast("暂时无法提供,需索取"); }else { Intent in = new Intent(VnReportDetailForDoctorActivity.this,WebActivity.class); in.putExtra("WebViewUrl",""+dataBean.getBatchCertificate()+""); startActivity(in); } } }, 0, spanvndetailTvOthervn0.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); vndetailTvGmpPath.setText(spanvndetailTvOthervn0); vndetailTvGmpPath.setMovementMethod(LinkMovementMethod.getInstance());//开始响应点击事件 SpannableString spanvndetailTvOthervn1 = new SpannableString("点击查询"); spanvndetailTvOthervn1.setSpan(new ClickableSpan() { @Override public void onClick(View view) { //点击的响应事件 if (dataBean.getSameBatchOtherColdChain() == null || TextUtils.isEmpty(dataBean.getSameBatchOtherColdChain())){ toast("暂时无法提供,需索取"); }else { Intent in = new Intent(VnReportDetailForDoctorActivity.this,WebActivity.class); in.putExtra("WebViewUrl",""+dataBean.getSameBatchOtherColdChain()+""); startActivity(in); } } }, 0, spanvndetailTvOthervn1.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); vndetailTvOthervn1.setText(spanvndetailTvOthervn1); vndetailTvOthervn1.setMovementMethod(LinkMovementMethod.getInstance());//开始响应点击事件 SpannableString spanvndetailTvOthervn2 = new SpannableString("点击查询"); spanvndetailTvOthervn2.setSpan(new ClickableSpan() { @Override public void onClick(View view) { //点击的响应事件 if (dataBean.getSameBatchOtherFlow() == null || TextUtils.isEmpty(dataBean.getSameBatchOtherFlow())){ toast("暂时无法提供,需索取"); }else { Intent in = new Intent(VnReportDetailForDoctorActivity.this,WebActivity.class); in.putExtra("WebViewUrl",""+dataBean.getSameBatchOtherFlow()+""); startActivity(in); } } }, 0, spanvndetailTvOthervn2.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); vndetailTvOthervn2.setText(spanvndetailTvOthervn2); vndetailTvOthervn2.setMovementMethod(LinkMovementMethod.getInstance());//开始响应点击事件 SpannableString spanvndetailTvOthervn3 = new SpannableString("点击查询"); spanvndetailTvOthervn3.setSpan(new ClickableSpan() { @Override public void onClick(View view) { //点击的响应事件 if (dataBean.getSameFactoryOtherVaccines() == null || TextUtils.isEmpty(dataBean.getSameFactoryOtherVaccines())){ toast("暂时无法提供,需索取"); }else { Intent in = new Intent(VnReportDetailForDoctorActivity.this,WebActivity.class); in.putExtra("WebViewUrl",""+dataBean.getSameFactoryOtherVaccines()+""); startActivity(in); } } }, 0, spanvndetailTvOthervn3.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); vndetailTvOthervn3.setText(spanvndetailTvOthervn3); vndetailTvOthervn3.setMovementMethod(LinkMovementMethod.getInstance());//开始响应点击事件 } @OnClick({R.id.send_btn_report,R.id.next_btn_report}) public void onViewClicked(View view) { switch (view.getId()) { case R.id.send_btn_report: getPresenter().sendMailToInoculator(chipModel.getChipNumber()); break; case R.id.next_btn_report: finish(); break; } } @Override protected VnDetailPresenter createPresenter() { return new VnDetailPresenter(); } @Override public void getSendMailSuccess(VnDetailBean data) { finish(); } @Override public void getDetailError(String msg) { } @Override public void getDetailSuccess(VnDetailBean data) { } @Override public void getSendMailError(String msg) { toast(msg); } public static void i(String tag, String msg) { //信息太长,分段打印 //因为String的length是字符数量不是字节数量所以为了防止中文字符过多, // 把4*1024的MAX字节打印长度改为2001字符数 int max_str_length = 2001 - tag.length(); //大于4000时 while (msg.length() > max_str_length) { Log.i(tag, msg.substring(0, max_str_length)); msg = msg.substring(max_str_length); } //剩余部分 Log.i(tag, msg); } }