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