package com.hjx.parent; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.webkit.WebSettings; import android.widget.AdapterView; import android.widget.RadioButton; import android.widget.RadioGroup; import com.bumptech.glide.Glide; import com.hjx.parent.databinding.ActivityErrorDetailBinding; import com.hjx.parent.dialog.ErrorEditDialog; import com.prws.common.bean.ErrorDetailBean; import com.prws.common.bean.ResponseResult; import com.prws.common.bean.TopicBean; import com.prws.common.net.NetWorks; import com.prws.common.utils.CommonUtil; import com.prws.common.utils.StringUtils; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; public class ErrorDetailActivity extends BaseActivity { private TopicBean bean; @Override public void initView(Bundle savedInstanceState) { bean = (TopicBean) getIntent().getSerializableExtra("errorBean"); loadError(); } public void loadError() { if (bean.getBean() != null) { ErrorDetailBean errorDetailBean = bean.getBean(); if (TextUtils.isEmpty(errorDetailBean.getContent())) { binding.llOrigin.setVisibility(View.GONE); } else { String linkCss = ""; StringBuilder sb = new StringBuilder(4096); if (!TextUtils.isEmpty(errorDetailBean.getLabel())) { sb.append(errorDetailBean.getLabel()); } sb.append(errorDetailBean.getContent()); if (errorDetailBean.getOptions() != null && errorDetailBean.getOptions().size() > 0) { sb.append("
"); sb.append(StringUtils.OptionsHtml(errorDetailBean.getOptions(), null)); sb.append("
"); } String body = "
" + linkCss + "
" + sb.toString() + ""; binding.webContent.loadDataWithBaseURL(linkCss, body, "text/html", "UTF-8", null); binding.webContent.setVisibility(View.VISIBLE); binding.llOrigin.setVisibility(View.VISIBLE); } if (TextUtils.isEmpty(errorDetailBean.getMethod())) { binding.llAnalyse.setVisibility(View.GONE); } else { binding.llAnalyse.setVisibility(View.VISIBLE); String linkCss = ""; String body = "
" + linkCss + "
" + errorDetailBean.getMethod() + ""; binding.webAnalyse.loadDataWithBaseURL(linkCss, body, "text/html", "UTF-8", null); } if (TextUtils.isEmpty(errorDetailBean.getDisplayAnswer())) { binding.llAnswer.setVisibility(View.GONE); } else { binding.llAnswer.setVisibility(View.VISIBLE); String linkCss = ""; String body = "
" + linkCss + "
" + errorDetailBean.getDisplayAnswer() + ""; binding.webAnswer.loadDataWithBaseURL(linkCss, body, "text/html", "UTF-8", null); } if (errorDetailBean.getPoints().size() > 0) { List points = new ArrayList<>(); String topic = ""; for (int j = 0; j < errorDetailBean.getPoints().size(); j++) { if (j > 0) { topic += "、"; } topic += errorDetailBean.getPoints().get(j).getValue(); points.add(errorDetailBean.getPoints().get(j).getKey()); } binding.llPoints.setVisibility(View.VISIBLE); binding.tvPoints.setText(topic); } else { binding.llPoints.setVisibility(View.GONE); } } else { binding.llAnalyse.setVisibility(View.GONE); binding.llAnswer.setVisibility(View.GONE); binding.llOrigin.setVisibility(View.GONE); binding.llPoints.setVisibility(View.GONE); } if (TextUtils.isEmpty(bean.getPath())) { binding.llPic.setVisibility(View.GONE); } else { Glide.with(context).load(bean.getPath()).override(CommonUtil.getScreenWidth(context) - CommonUtil.dpToPx(context, 40), CommonUtil.dpToPx(context, 90)).fitCenter().into(binding.ivTopic); } binding.tvTitle.setText(bean.getName()); RadioButton typeButton = (RadioButton) binding.typeRadio.getChildAt(bean.getIsDone()); typeButton.setChecked(true); binding.typeRadio.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { saveError(); } }); binding.spinnerReason.setSelection(bean.getReason()); binding.spinnerReason.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView parent, View view, int position, long id) { saveError(); } @Override public void onNothingSelected(AdapterView parent) { } }); binding.ivBack.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish(); } }); binding.ivEdit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { List topicBeans = new ArrayList<>(); topicBeans.add(bean); ErrorEditDialog errorEditDialog = new ErrorEditDialog(context, topicBeans, new ErrorEditDialog.EditInterface() { @Override public void edit(String name, int reason) { binding.tvTitle.setText(name); binding.spinnerReason.setSelection(reason); } }); errorEditDialog.show(); } }); } public void saveError() { int done = 0; for (int i = 0; i < binding.typeRadio.getChildCount(); i++) { RadioButton rb = (RadioButton) binding.typeRadio.getChildAt(i); if (rb.isChecked()) { done = i; } } bean.setDone(done == 1); Map map = new HashMap<>(); map.put("bookId", bean.getId()); map.put("controlFlag", done == 1 ? 0 : 1); map.put("errorReason", binding.spinnerReason.getSelectedItemPosition()); NetWorks.editError(map, new Observer() { @Override public void onSubscribe(Disposable d) { } @Override public void onNext(ResponseResult responseResult) { } @Override public void onError(Throwable e) { } @Override public void onComplete() { } }); } @Override protected ActivityErrorDetailBinding getViewBinding() { return ActivityErrorDetailBinding.inflate(getLayoutInflater()); } }