Commit b49795b72f73aba8822f002ab66242c91cf053cd

Authored by shixianjie
1 parent 6c927b5aa1
Exists in master

作业反馈

.idea/deploymentTargetDropDown.xml
... ... @@ -3,20 +3,7 @@
3 3 <component name="deploymentTargetDropDown">
4 4 <value>
5 5 <entry key="app">
6   - <State>
7   - <runningDeviceTargetSelectedWithDropDown>
8   - <Target>
9   - <type value="RUNNING_DEVICE_TARGET" />
10   - <deviceKey>
11   - <Key>
12   - <type value="SERIAL_NUMBER" />
13   - <value value="192.168.3.176:39671" />
14   - </Key>
15   - </deviceKey>
16   - </Target>
17   - </runningDeviceTargetSelectedWithDropDown>
18   - <timeTargetWasSelectedWithDropDown value="2024-09-29T02:03:12.057655600Z" />
19   - </State>
  6 + <State />
20 7 </entry>
21 8 </value>
22 9 </component>
... ...
app/src/main/AndroidManifest.xml
... ... @@ -154,6 +154,7 @@
154 154 <activity android:name=".StuHomeworkActivity" />
155 155 <activity android:name=".HomeworkDetailActivity" />
156 156 <activity android:name=".HomeworkSelectActivity" />
  157 + <activity android:name=".HomeworkFeedbackActivity" />
157 158  
158 159 <provider
159 160 android:name="androidx.core.content.FileProvider"
... ...
app/src/main/java/com/hjx/parent/HomeworkDetailActivity.java
... ... @@ -11,10 +11,10 @@ import androidx.annotation.NonNull;
11 11 import com.bumptech.glide.Glide;
12 12 import com.chad.library.adapter.base.BaseQuickAdapter;
13 13 import com.chad.library.adapter.base.BaseViewHolder;
14   -import com.google.gson.Gson;
15 14 import com.hjx.parent.databinding.ActivityHomeworkDetailBinding;
16 15 import com.hjx.parent.rx.BaseRxActivity;
17 16 import com.prws.common.bean.ResponseResult;
  17 +import com.prws.common.bean.Student;
18 18 import com.prws.common.bean.homework.HomeWork;
19 19 import com.prws.common.bean.homework.HomeworkList;
20 20 import com.prws.common.net.NetWorks;
... ... @@ -24,22 +24,25 @@ import java.util.ArrayList;
24 24 public class HomeworkDetailActivity extends BaseRxActivity<ActivityHomeworkDetailBinding> {
25 25  
26 26 private HomeworkList mData;
  27 + private Student student;
27 28  
28 29 private Adapter mAdapter = new Adapter();
29 30  
30 31 @Override
31 32 public void initView(Bundle savedInstanceState) {
32 33 binding.toolbar.setNavigationOnClickListener(v -> onBackPressed());
33   - String json = getIntent().getStringExtra("data");
34   - mData = new Gson().fromJson(json, HomeworkList.class);
  34 + mData = (HomeworkList) getIntent().getSerializableExtra("data");
  35 + student = (Student) getIntent().getSerializableExtra("student");
35 36 binding.tvTitle.setText(mData.getName());
36 37  
37 38 binding.recyclerView.setAdapter(mAdapter);
38 39 getDetail();
39 40  
40 41 binding.btnFeedback.setOnClickListener(v -> {
  42 + if (mAdapter.getData().size() == 0) return;
41 43 Intent intent = new Intent(this, HomeworkSelectActivity.class);
42 44 intent.putExtra("data", mData);
  45 + intent.putExtra("student", student);
43 46 intent.putExtra("list", new ArrayList<>(mAdapter.getData()));
44 47 startActivity(intent);
45 48 });
... ...
app/src/main/java/com/hjx/parent/HomeworkFeedbackActivity.java
... ... @@ -0,0 +1,42 @@
  1 +package com.hjx.parent;
  2 +
  3 +import android.os.Bundle;
  4 +
  5 +import com.hjx.parent.databinding.ActivityHomeworkFeedbackBinding;
  6 +import com.hjx.parent.rx.BaseRxActivity;
  7 +import com.prws.common.bean.Student;
  8 +import com.prws.common.bean.homework.HomeWork;
  9 +import com.prws.common.bean.homework.HomeworkList;
  10 +
  11 +import java.text.DecimalFormat;
  12 +import java.util.ArrayList;
  13 +
  14 +public class HomeworkFeedbackActivity extends BaseRxActivity<ActivityHomeworkFeedbackBinding> {
  15 + private Student student;
  16 + private HomeworkList mData;
  17 + private ArrayList<HomeWork> mList;
  18 +
  19 + @SuppressWarnings("unchecked")
  20 + @Override
  21 + public void initView(Bundle savedInstanceState) {
  22 + binding.toolbar.setNavigationOnClickListener(v -> onBackPressed());
  23 + student = (Student) getIntent().getSerializableExtra("student");
  24 + mData = (HomeworkList) getIntent().getSerializableExtra("data");
  25 + mList = (ArrayList<HomeWork>) getIntent().getSerializableExtra("list");
  26 +
  27 + binding.tvStuName.setText(student.stuName);
  28 + binding.tvGrade.setText(student.grade);
  29 +
  30 + int correctNo = 0;
  31 + for (HomeWork homeWork: mList) {
  32 + homeWork.homeworkId = mData.getId();
  33 + if (!homeWork.check) correctNo ++;
  34 + }
  35 + binding.tvPercent.setText(new DecimalFormat("0%").format(1f * correctNo / mList.size()));
  36 + }
  37 +
  38 + @Override
  39 + protected ActivityHomeworkFeedbackBinding getViewBinding() {
  40 + return ActivityHomeworkFeedbackBinding.inflate(getLayoutInflater());
  41 + }
  42 +}
... ...
app/src/main/java/com/hjx/parent/HomeworkSelectActivity.java
1 1 package com.hjx.parent;
2 2  
3 3 import android.annotation.SuppressLint;
  4 +import android.content.Intent;
4 5 import android.content.res.ColorStateList;
5 6 import android.os.Bundle;
6 7 import android.view.View;
... ... @@ -17,6 +18,7 @@ import com.chad.library.adapter.base.BaseViewHolder;
17 18 import com.hjx.parent.databinding.ActivityHomeworkSelectBinding;
18 19 import com.hjx.parent.function.Function1;
19 20 import com.hjx.parent.rx.BaseRxActivity;
  21 +import com.prws.common.bean.Student;
20 22 import com.prws.common.bean.homework.HomeWork;
21 23 import com.prws.common.bean.homework.HomeworkList;
22 24  
... ... @@ -24,6 +26,7 @@ import java.util.ArrayList;
24 26  
25 27 public class HomeworkSelectActivity extends BaseRxActivity<ActivityHomeworkSelectBinding> {
26 28  
  29 + private Student student;
27 30 private HomeworkList mData;
28 31 private ArrayList<HomeWork> mList;
29 32 private Adapter mAdapter = new Adapter();
... ... @@ -35,6 +38,7 @@ public class HomeworkSelectActivity extends BaseRxActivity&lt;ActivityHomeworkSelec
35 38 @Override
36 39 public void initView(Bundle savedInstanceState) {
37 40 binding.toolbar.setNavigationOnClickListener(v -> onBackPressed());
  41 + student = (Student) getIntent().getSerializableExtra("student");
38 42 mData = (HomeworkList) getIntent().getSerializableExtra("data");
39 43 mList = (ArrayList<HomeWork>) getIntent().getSerializableExtra("list");
40 44  
... ... @@ -63,6 +67,14 @@ public class HomeworkSelectActivity extends BaseRxActivity&lt;ActivityHomeworkSelec
63 67 selectNum.setValue(b ? mList.size() : 0);
64 68 mAdapter.notifyDataSetChanged();
65 69 });
  70 +
  71 + binding.btnConfirm.setOnClickListener(v -> {
  72 + Intent intent = new Intent(this, HomeworkFeedbackActivity.class);
  73 + intent.putExtra("data", mData);
  74 + intent.putExtra("list", mList);
  75 + intent.putExtra("student", student);
  76 + startActivity(intent);
  77 + });
66 78 }
67 79  
68 80 @Override
... ...
app/src/main/java/com/hjx/parent/StuHomeworkActivity.java
1 1 package com.hjx.parent;
2 2  
3 3 import android.annotation.SuppressLint;
  4 +import android.content.Intent;
4 5 import android.os.Bundle;
5 6 import android.widget.LinearLayout;
6 7 import android.widget.PopupWindow;
... ... @@ -74,6 +75,12 @@ public class StuHomeworkActivity extends BaseRxActivity&lt;ActivityStudentHomeworkB
74 75 return true;
75 76 }, null);
76 77 };
  78 + homeworkAdapter.detailCall = data -> {
  79 + Intent intent = new Intent(this, HomeworkDetailActivity.class);
  80 + intent.putExtra("data", data);
  81 + intent.putExtra("student", state.student);
  82 + startActivity(intent);
  83 + };
77 84 }
78 85  
79 86 @SuppressLint("CheckResult")
... ...
app/src/main/java/com/hjx/parent/adapter/HomeworkListAdapter.java
... ... @@ -18,6 +18,7 @@ import com.prws.common.bean.homework.HomeworkList;
18 18 public class HomeworkListAdapter extends BaseQuickAdapter<HomeworkList, BaseViewHolder> {
19 19  
20 20 public Function1<HomeworkList> deleteCall;
  21 + public Function1<HomeworkList> detailCall;
21 22  
22 23 public HomeworkListAdapter() {
23 24 super(R.layout.item_homework_list);
... ... @@ -66,9 +67,9 @@ public class HomeworkListAdapter extends BaseQuickAdapter&lt;HomeworkList, BaseView
66 67  
67 68 View btnDetail = helper.getView(R.id.btnDetail);
68 69 btnDetail.setOnClickListener(v -> {
69   - Intent intent = new Intent(mContext, HomeworkDetailActivity.class);
70   - intent.putExtra("data", new Gson().toJson(homework));
71   - mContext.startActivity(intent);
  70 + if (detailCall != null) {
  71 + detailCall.invoke(homework);
  72 + }
72 73 });
73 74 }
74 75 }
... ...
app/src/main/res/drawable/svg_ic_comment.xml
1 1 <vector xmlns:android="http://schemas.android.com/apk/res/android"
2   - android:width="34dp"
3   - android:height="34dp"
  2 + android:width="17dp"
  3 + android:height="17dp"
4 4 android:viewportWidth="34"
5 5 android:viewportHeight="34">
6 6 <path
... ...
app/src/main/res/layout/activity_homework_feedback.xml
... ... @@ -80,7 +80,8 @@
80 80 android:layout_width="wrap_content"
81 81 android:layout_height="wrap_content"/>
82 82 <TextView
83   - android:text="杨小凯"
  83 + android:id="@+id/tvStuName"
  84 + tools:text="杨小凯"
84 85 android:textSize="14sp"
85 86 android:textColor="#333"
86 87 android:layout_width="wrap_content"
... ... @@ -93,7 +94,8 @@
93 94 android:layout_width="wrap_content"
94 95 android:layout_height="wrap_content"/>
95 96 <TextView
96   - android:text="六年级"
  97 + android:id="@+id/tvGrade"
  98 + tools:text="六年级"
97 99 android:textSize="14sp"
98 100 android:textColor="#333"
99 101 android:layout_width="96dp"
... ... @@ -129,12 +131,13 @@
129 131 android:layout_width="match_parent"
130 132 android:layout_height="wrap_content">
131 133 <TextView
132   - android:text="学生姓名:"
  134 + android:text="正确率:"
133 135 android:textSize="14sp"
134 136 android:textColor="#333"
135 137 android:layout_width="wrap_content"
136 138 android:layout_height="wrap_content"/>
137 139 <TextView
  140 + android:id="@+id/tvPercent"
138 141 tools:text="60%"
139 142 android:textSize="14sp"
140 143 android:textColor="#333"
... ... @@ -215,7 +218,7 @@
215 218 android:gravity="center_vertical"
216 219 android:paddingHorizontal="15dp"
217 220 android:drawablePadding="5dp"
218   - android:drawableStart="@drawable/svg_ic_paper"
  221 + android:drawableStart="@drawable/svg_ic_comment"
219 222 android:background="@drawable/shape_radius_top_10"
220 223 android:backgroundTint="#DAEBFE"
221 224 android:layout_width="match_parent"
... ...
libs/common/src/main/java/com/prws/common/bean/Student.java
... ... @@ -2,7 +2,9 @@ package com.prws.common.bean;
2 2  
3 3 import androidx.annotation.NonNull;
4 4  
5   -public class Student {
  5 +import java.io.Serializable;
  6 +
  7 +public class Student implements Serializable {
6 8  
7 9 public String stuId;
8 10 public String stuName;
... ...
libs/common/src/main/java/com/prws/common/bean/homework/HomeWork.java
... ... @@ -7,7 +7,7 @@ import java.io.Serializable;
7 7 public class HomeWork implements Serializable {
8 8  
9 9 @SerializedName(value = "homeworkId", alternate = "id")
10   - public Integer homeworkId;
  10 + public String homeworkId;
11 11 public String brief;
12 12 public String url;
13 13 public String analyseUrl;
... ...