Commit fc85bfe19718e0d59cd1566bb7c76bcff50a5e31

Authored by shixianjie
1 parent fdaf2a78b4
Exists in master

图片全屏查看

app/src/main/java/com/hjx/parent/HomeworkTopicActivity.java
1 package com.hjx.parent; 1 package com.hjx.parent;
2 2
3 import android.annotation.SuppressLint; 3 import android.annotation.SuppressLint;
4 import android.content.res.ColorStateList; 4 import android.content.res.ColorStateList;
5 import android.os.Bundle; 5 import android.os.Bundle;
6 import android.view.View; 6 import android.view.View;
7 import android.widget.TextView; 7 import android.widget.TextView;
8 8
9 import androidx.annotation.NonNull; 9 import androidx.annotation.NonNull;
10 import androidx.annotation.Nullable; 10 import androidx.annotation.Nullable;
11 11
12 import com.bumptech.glide.Glide; 12 import com.bumptech.glide.Glide;
13 import com.chad.library.adapter.base.BaseQuickAdapter; 13 import com.chad.library.adapter.base.BaseQuickAdapter;
14 import com.chad.library.adapter.base.BaseViewHolder; 14 import com.chad.library.adapter.base.BaseViewHolder;
15 import com.google.gson.Gson; 15 import com.google.gson.Gson;
16 import com.hjx.parent.databinding.ActivityTopicDetailBinding; 16 import com.hjx.parent.databinding.ActivityTopicDetailBinding;
17 import com.hjx.parent.dialog.PhotoViewDialog;
17 import com.hjx.parent.rx.BaseRxActivity; 18 import com.hjx.parent.rx.BaseRxActivity;
18 import com.prws.common.bean.homework.HomeWork; 19 import com.prws.common.bean.homework.HomeWork;
19 import com.prws.common.bean.homework.KeyValue; 20 import com.prws.common.bean.homework.KeyValue;
20 21
21 import java.util.ArrayList; 22 import java.util.ArrayList;
22 import java.util.List; 23 import java.util.List;
23 24
24 public class HomeworkTopicActivity extends BaseRxActivity<ActivityTopicDetailBinding> { 25 public class HomeworkTopicActivity extends BaseRxActivity<ActivityTopicDetailBinding> {
25 private ArrayList<HomeWork> mList; 26 private ArrayList<HomeWork> mList;
26 private int position; 27 private int position;
27 28
28 @SuppressWarnings("unchecked") 29 @SuppressWarnings("unchecked")
29 @Override 30 @Override
30 public void initView(Bundle savedInstanceState) { 31 public void initView(Bundle savedInstanceState) {
31 mList = (ArrayList<HomeWork>) getIntent().getSerializableExtra("list"); 32 mList = (ArrayList<HomeWork>) getIntent().getSerializableExtra("list");
32 position = getIntent().getIntExtra("position", 0); 33 position = getIntent().getIntExtra("position", 0);
33 binding.toolbar.setNavigationOnClickListener(v -> onBackPressed()); 34 binding.toolbar.setNavigationOnClickListener(v -> onBackPressed());
34 NumberAdapter adapter = new NumberAdapter(mList); 35 NumberAdapter adapter = new NumberAdapter(mList);
35 binding.rvNumber.setAdapter(adapter); 36 binding.rvNumber.setAdapter(adapter);
36 37
37 binding.btnPre.setOnClickListener(v -> showTopic(position - 1)); 38 binding.btnPre.setOnClickListener(v -> showTopic(position - 1));
38 binding.btnNext.setOnClickListener(v -> showTopic(position + 1)); 39 binding.btnNext.setOnClickListener(v -> showTopic(position + 1));
39 adapter.setOnItemClickListener((baseQuickAdapter, view, i) -> { 40 adapter.setOnItemClickListener((baseQuickAdapter, view, i) -> {
40 if (position == i) return; 41 if (position == i) return;
41 showTopic(i); 42 showTopic(i);
42 }); 43 });
43 showTopic(position); 44 showTopic(position);
44 } 45 }
45 46
46 @SuppressLint("SetTextI18n") 47 @SuppressLint("SetTextI18n")
47 private void showTopic(int position) { 48 private void showTopic(int position) {
48 if (position < 0 || position >= mList.size()) return; 49 if (position < 0 || position >= mList.size()) return;
49 this.position = position; 50 this.position = position;
50 binding.btnPre.setEnabled(position > 0); 51 binding.btnPre.setEnabled(position > 0);
51 binding.btnNext.setEnabled(position < mList.size() - 1); 52 binding.btnNext.setEnabled(position < mList.size() - 1);
52 binding.tvTitle.setText((position + 1) + "/" + mList.size()); 53 binding.tvTitle.setText((position + 1) + "/" + mList.size());
53 binding.tvNo.setText("题目" + (position + 1)); 54 binding.tvNo.setText("题目" + (position + 1));
54 55
55 HomeWork homeWork = mList.get(position); 56 HomeWork homeWork = mList.get(position);
56 Glide.with(this).load(homeWork.url).into(binding.ivTopic); 57 Glide.with(this).load(homeWork.url).into(binding.ivTopic);
58 binding.ivTopic.setOnClickListener(v -> {
59 new PhotoViewDialog(this).show(homeWork.url);
60 });
57 Glide.with(this).load(homeWork.analyseUrl).into(binding.ivAnalyse); 61 Glide.with(this).load(homeWork.analyseUrl).into(binding.ivAnalyse);
62 binding.ivAnalyse.setOnClickListener(v -> {
63 if (homeWork.analyseUrl == null || homeWork.analyseUrl.isEmpty()) return;
64 new PhotoViewDialog(this).show(homeWork.analyseUrl);
65 });
58 String answer = homeWork.answer == null ? "" : homeWork.answer 66 String answer = homeWork.answer == null ? "" : homeWork.answer
59 .replace("<br />", "\n") 67 .replace("<br />", "\n")
60 .replace("${", "") 68 .replace("${", "")
61 .replace("}$", ""); 69 .replace("}$", "");
62 binding.tvAnswer.setText(answer); 70 binding.tvAnswer.setText(answer);
63 if (homeWork.pointsObj == null) homeWork.formatPoints(new Gson()); 71 if (homeWork.pointsObj == null) homeWork.formatPoints(new Gson());
64 StringBuilder pointBuilder = new StringBuilder(); 72 StringBuilder pointBuilder = new StringBuilder();
65 for (KeyValue point: homeWork.pointsObj) { 73 for (KeyValue point: homeWork.pointsObj) {
66 pointBuilder.append("\n").append(point.Value); 74 pointBuilder.append("\n").append(point.Value);
67 } 75 }
68 binding.tvPoint.setText(homeWork.pointsObj.size() == 0 ? "" : pointBuilder.substring(1)); 76 binding.tvPoint.setText(homeWork.pointsObj.size() == 0 ? "" : pointBuilder.substring(1));
69 } 77 }
70 78
71 @Override 79 @Override
72 protected ActivityTopicDetailBinding getViewBinding() { 80 protected ActivityTopicDetailBinding getViewBinding() {
73 return ActivityTopicDetailBinding.inflate(getLayoutInflater()); 81 return ActivityTopicDetailBinding.inflate(getLayoutInflater());
74 } 82 }
75 83
76 static class NumberAdapter extends BaseQuickAdapter<HomeWork, BaseViewHolder> { 84 static class NumberAdapter extends BaseQuickAdapter<HomeWork, BaseViewHolder> {
77 85
78 public NumberAdapter(@Nullable List<HomeWork> data) { 86 public NumberAdapter(@Nullable List<HomeWork> data) {
79 super(R.layout.item_topic_number, data); 87 super(R.layout.item_topic_number, data);
80 } 88 }
81 89
82 @Override 90 @Override
83 protected void convert(@NonNull BaseViewHolder holder, HomeWork homeWork) { 91 protected void convert(@NonNull BaseViewHolder holder, HomeWork homeWork) {
84 TextView textView = (TextView) holder.itemView; 92 TextView textView = (TextView) holder.itemView;
85 textView.setText(String.valueOf(getData().indexOf(homeWork) + 1)); 93 textView.setText(String.valueOf(getData().indexOf(homeWork) + 1));
86 94
87 int color = homeWork.check ? 0xFFFF4133 : 0xFF4ABC78; 95 int color = homeWork.check ? 0xFFFF4133 : 0xFF4ABC78;
88 textView.setBackgroundTintList(ColorStateList.valueOf(color)); 96 textView.setBackgroundTintList(ColorStateList.valueOf(color));
89 } 97 }
90 } 98 }
91 } 99 }
92 100