diff --git a/app/build.gradle b/app/build.gradle index 83727c0..4a7ec58 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -86,4 +86,6 @@ dependencies { implementation("com.github.PhilJay:MPAndroidChart:v3.1.0") implementation("com.contrarywind:Android-PickerView:4.1.9") + + implementation 'com.google.android:flexbox:1.0.0' } \ No newline at end of file diff --git a/app/src/main/java/com/hjx/parent/HomeworkFeedbackActivity.java b/app/src/main/java/com/hjx/parent/HomeworkFeedbackActivity.java index 05b79ad..0b3c697 100644 --- a/app/src/main/java/com/hjx/parent/HomeworkFeedbackActivity.java +++ b/app/src/main/java/com/hjx/parent/HomeworkFeedbackActivity.java @@ -1,7 +1,17 @@ package com.hjx.parent; import android.os.Bundle; +import android.view.View; +import android.widget.ImageView; +import android.widget.RadioButton; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +import com.bumptech.glide.Glide; +import com.chad.library.adapter.base.BaseQuickAdapter; +import com.chad.library.adapter.base.BaseViewHolder; +import com.google.android.flexbox.FlexboxLayoutManager; import com.hjx.parent.databinding.ActivityHomeworkFeedbackBinding; import com.hjx.parent.rx.BaseRxActivity; import com.prws.common.bean.Student; @@ -10,6 +20,7 @@ import com.prws.common.bean.homework.HomeworkList; import java.text.DecimalFormat; import java.util.ArrayList; +import java.util.List; public class HomeworkFeedbackActivity extends BaseRxActivity { private Student student; @@ -27,16 +38,78 @@ public class HomeworkFeedbackActivity extends BaseRxActivity errorList = new ArrayList<>(); int correctNo = 0; for (HomeWork homeWork: mList) { homeWork.homeworkId = mData.getId(); if (!homeWork.check) correctNo ++; + else errorList.add(homeWork); } binding.tvPercent.setText(new DecimalFormat("0%").format(1f * correctNo / mList.size())); + + binding.rvCorrect.setLayoutManager(new FlexboxLayoutManager(this)); + binding.rvCorrect.setAdapter(new NumberAdapter(mList)); + binding.rvError.setVisibility(errorList.isEmpty() ? View.GONE : View.VISIBLE); + binding.rvError.setAdapter(new EvalAdapter(errorList)); } @Override protected ActivityHomeworkFeedbackBinding getViewBinding() { return ActivityHomeworkFeedbackBinding.inflate(getLayoutInflater()); } + + static class NumberAdapter extends BaseQuickAdapter { + + public NumberAdapter(List list) { + super(R.layout.item_feedback_num, list); + } + + @Override + protected void convert(@NonNull BaseViewHolder holder, HomeWork homeWork) { + int position = getData().indexOf(homeWork); + holder.setText(R.id.tvNum, String.valueOf(position + 1)); + if (homeWork.check) { + holder.setImageResource(R.id.ivType, R.drawable.ic_wrong_small); + } else { + holder.setImageResource(R.id.ivType, R.drawable.ic_correct_small); + } + } + } + + static class EvalAdapter extends BaseQuickAdapter { + + public EvalAdapter(@Nullable List data) { + super(R.layout.item_homework_eval, data); + } + + @Override + protected void convert(@NonNull BaseViewHolder holder, HomeWork homeWork) { + holder.itemView.setClipToOutline(true); + holder.setText(R.id.tvNo, "题目" + (homeWork.index + 1)); + ImageView iv = holder.getView(R.id.ivTopic); + Glide.with(mContext).load(homeWork.url).into(iv); + + RadioButton chk1 = holder.getView(R.id.chk1); + RadioButton chk2 = holder.getView(R.id.chk2); + RadioButton chk3 = holder.getView(R.id.chk3); + chk1.setOnCheckedChangeListener((v, b) -> { + if (b) { + homeWork.state = 1; + } + }); + chk2.setOnCheckedChangeListener((v, b) -> { + if (b) { + homeWork.state = 2; + } + }); + chk3.setOnCheckedChangeListener((v, b) -> { + if (b) { + homeWork.state = 3; + } + }); + chk1.setChecked(homeWork.state == 1); + chk2.setChecked(homeWork.state == 2); + chk3.setChecked(homeWork.state == 3); + } + } } diff --git a/app/src/main/res/drawable/bg_homework_eval_item.xml b/app/src/main/res/drawable/bg_homework_eval_item.xml new file mode 100644 index 0000000..bdb4858 --- /dev/null +++ b/app/src/main/res/drawable/bg_homework_eval_item.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_homework_num.xml b/app/src/main/res/drawable/bg_homework_num.xml new file mode 100644 index 0000000..2bcd904 --- /dev/null +++ b/app/src/main/res/drawable/bg_homework_num.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/btn_homework_eval1.xml b/app/src/main/res/drawable/btn_homework_eval1.xml new file mode 100644 index 0000000..6e18a75 --- /dev/null +++ b/app/src/main/res/drawable/btn_homework_eval1.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/btn_homework_eval2.xml b/app/src/main/res/drawable/btn_homework_eval2.xml new file mode 100644 index 0000000..688c0e5 --- /dev/null +++ b/app/src/main/res/drawable/btn_homework_eval2.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/btn_homework_eval3.xml b/app/src/main/res/drawable/btn_homework_eval3.xml new file mode 100644 index 0000000..e008a94 --- /dev/null +++ b/app/src/main/res/drawable/btn_homework_eval3.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_correct_small.png b/app/src/main/res/drawable/ic_correct_small.png new file mode 100644 index 0000000000000000000000000000000000000000..60d912201fb3ebad87d0ca1930fe176acb7eb744 GIT binary patch literal 1346 zcmV-I1-<%-P)Px({7FPXR9HvVnQ2U1RTRhn=glCJE(U@4!Dw7cg@!4jvD(y6&ZUDT-qS6Ws^!5&(-CxQ;;cg)D=62>2U7 zD?rT}v~OACqxFSv^d=gXq#YSl*s!IL$hk>jUJD>iQlnods$q^DsB`bG1A%4yrGSgV zFF&j(%62gFWr9pHMYz z_D0n81iTAi;dEk2{@$g7pRM&&e>#=UI6DAbEvq17?@GS~ zJMy1Inj;k&>v*&I5E{?@AR{pl(_)!48`I&=jK!#MZA7XgWfV|n9Xn4Q#If_umZ6Ec zh501w`<9Ge&U@YP>O@zLq9IKPcb+?|z+@;r0c3xi!KkM5I( z9Vr*+6mxhGz*Sa(352J!i}28mD@R>IXOH2nmcs`0@~kCL^NLMJwsWw{7}>LZA}J;G z3`qk&lkFV`8xLF8b{r=IeTHS+miiMMk9+ZfwU$Hz$^Ki z;7Y%FN(hl>w?+5k@^D|$u*RYjX)V#hA)sH)-;BKUn@nMTy?h2cnhs2w_7Z#pKNUu{ z6gl7sB_bf8x4E7`K}PmC_n$8QiOQxA(65OEWZxrpY)Nl^QWPgtS26C%%r(fOoxh># z)W;aqhV3IAQ5xC&h)>CGFCCPx(;Ymb6R9HvVnQ3fPRTO}~Gg8zPHGoPKSrXJ3V_eGAUqojRTEyVOA_RkpOCSXS z1EE$30%8TLpanv0F|C4VX)G$$w6=r}>OZDMOk6@VL8*zNG)5re!aH)`bfzt{^xc_G zV&BjA&hp*+&OPVcdxZ=hEhxz4pWi2d-iZPAO!LY5$7?GX`q+d*^oa$8&F>jp+lbtsExiAumdaX3kt>jc%@M)18X#2h|y*`08kT)CgRe@gKm$A&g%O5BU zBowYqWhW`H8>rq{m8HlB}NGS)xtCPicLSPp*=-&#u$kJUuiAyD|;i5#)iGc(8 z8xW_YpS-7MMtvJ4bm-X&mE(Xl;Gcu&yXkr9XDvtO%E53imR`VaHc)BL{sQwlFgbP*v znD+#1E(PaYYUV+Mp?D4K+yNcOY{&N{t!=lPtPueY-dPCenyjo`F&xUPVDuPhcpqNd z0O}+*AwF2S9_}fGpE}^_1#r^zL>7D?rY>NAE$D2|>O-%BP1|7XxNepAYGL~; z@g@xHvQ=>31Kr<#I0nlXLgxw3EE|>uIVEv zTk8?nh+Q;AG?@P)IB^vvsg*%FP_hmt#xhO3XiXL5=EB2|B!_8fgtB#T?q3UF-v-fu ze;=aLEVLj|T-q4;upYL&lzfpUv!&8tfWJZXCL4dQtbtxy0{2h1Q?1_v+c(+68ZRo} ziU$2=!40?b+9hqEpIQMA&GM#Rw;Nu6)thWWDLH9?{{kJHffXoP2D9d-Hu26|@W$4R z+<^SuKfv>sz??@@!_-v5t{wdXoPJ0c_g-cm%{(07;D%Zpn$ z@~0q9qvwBA@;nqwO)eg7g1n@>rjMa)jc3=Gj;&vtpS^Xkt*jd$RdG4~BRsRjzWH$r zNYJvq9A?_f3K%oC8*blTDBl<#mj-(IYM9!i`n&CA5p@3QeRiQvTH9tv`eEC!FiOL& zjx_KiuLJXIUtZ_EfnPe`vKIy%nJNdvjXk$WUjVn-44G?3!@MUWuwJ%ErptS?GV?7` zBrM#M$^YplRAx$R*kv0C+x-0!3dc@O6CI=+2EEKGG_ocvr%)$PLhav0T@37_s^}kd$H*4 zh$}`TXAy0{@l|L2V)4Qm&_G}aoSA@d7pk`aHy}C!r0eQdPlKF5ISTR>a1e4omr&@m dm)T4t^B+Y-)lVPA0=@tM002ovPDHLkV1k7)bL;>B literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/activity_homework_feedback.xml b/app/src/main/res/layout/activity_homework_feedback.xml index 4579b62..feba12b 100644 --- a/app/src/main/res/layout/activity_homework_feedback.xml +++ b/app/src/main/res/layout/activity_homework_feedback.xml @@ -160,6 +160,7 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_homework_eval.xml b/app/src/main/res/layout/item_homework_eval.xml new file mode 100644 index 0000000..3773431 --- /dev/null +++ b/app/src/main/res/layout/item_homework_eval.xml @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/libs/common/src/main/java/com/prws/common/bean/homework/HomeWork.java b/libs/common/src/main/java/com/prws/common/bean/homework/HomeWork.java index bfadd4d..e73df7e 100644 --- a/libs/common/src/main/java/com/prws/common/bean/homework/HomeWork.java +++ b/libs/common/src/main/java/com/prws/common/bean/homework/HomeWork.java @@ -17,5 +17,7 @@ public class HomeWork implements Serializable { public String points; public boolean check = false; + public transient int index = 0; + public transient int state = 1; }