From c965c99decff8d0a1d49e7dba30f9ea1df3cd0e9 Mon Sep 17 00:00:00 2001 From: pybple5kv <1766872402@qq.com> Date: Sun, 10 Jul 2022 22:21:37 +0800 Subject: [PATCH] ADD file via upload --- TestGradeActivity.java | 209 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 209 insertions(+) create mode 100644 TestGradeActivity.java diff --git a/TestGradeActivity.java b/TestGradeActivity.java new file mode 100644 index 0000000..85d4f77 --- /dev/null +++ b/TestGradeActivity.java @@ -0,0 +1,209 @@ +package com.example.activity; + +import android.graphics.Color; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.ListView; +import android.widget.TextView; + +import com.example.Config; +import com.example.LoveDao; +import com.example.R; +import com.example.bean.QuestBean; +import com.google.android.gms.vision.clearcut.LogUtils; +import com.google.gson.Gson; + +import java.util.ArrayList; + +import butterknife.BindView; +import okhttp3.Call; +import okhttp3.Response; + +public class TestGradeActivity extends BaseActivity { + + + @BindView(R.id.tv_test_grade_name) + TextView tvTestGradeName; + @BindView(R.id.tv_test_grade_score) + TextView tvTestGradeScore; + @BindView(R.id.tv_test_grade_kind) + TextView tvTestGradeKind; + @BindView(R.id.tv_test_grade_use_time) + TextView tvTestGradeUseTime; + @BindView(R.id.lv_grade_score_detail) + ListView lvGradeScoreDetail; + @BindView(R.id.tv_test_grade_num) + TextView tvTestGradeNum; + @BindView(R.id.tv_test_grade_end_time) + TextView tvTestGradeEndTime; + private ArrayList titleName; + private String grade; + private String time; + private String kind; + private String num; + private String end_time; + private String username; + + + @Override + int getLayoutId() { + return R.layout.activity_test_grade; + } + + @Override + void getPreIntent() { +// 接收传递来的数据 + titleName = getIntent().getCharSequenceArrayListExtra("timu"); + grade = getIntent().getStringExtra("grade"); + time = getIntent().getStringExtra("time"); + kind = getIntent().getStringExtra("kind"); + num = getIntent().getStringExtra("num"); + end_time = TimeUtils.getNowTime(); + username = (String) SPUtils.get(TestGradeActivity.this, SPkey.UserName, ""); + } + + @Override + void initView() { +// 设置显示成绩分数 + tvTestGradeName.setText(username + " 您的本次得分是:"); + tvTestGradeScore.setText(grade + "分"); + tvTestGradeUseTime.setText("使用时间:" + time); + tvTestGradeNum.setText("题目数量:" + num); + tvTestGradeEndTime.setText("交卷时间:" + end_time); + /*switch (kind) { + case Config.TestType_Chinese: + tvTestGradeKind.setText("试卷类型:语文卷"); + break; + case Config.TestType_English: + tvTestGradeKind.setText("试卷类型:英语卷"); + break; + case Config.TestType_Math: + tvTestGradeKind.setText("试卷类型:数学卷"); + break; + default: + tvTestGradeKind.setVisibility(View.GONE); + break; + } +// 设置适配器 + lvGradeScoreDetail.setAdapter(new MyAdapter()); + } + + @Override + void initData() { +// 上传成绩 +// http://localhost:8080/Examine1/UpUserGrade?username=张三&grade=88&usetime=10&endtime=111&kind=math&number=5 + OkGo.get(Config.URL_UP_USER_GRADE) + .params("username", username) + .params("grade", grade) + .params("usetime", time) + .params("endtime", end_time) + .params("kind", kind) + .params("number", num) + .execute(new StringCallback() { + @Override + public void onSuccess(String s, Call call, Response response) { + LogUtils.e(" 上传答题信息 " + s); + Gson gson = new Gson(); + UpGradeBean upGradeBean = gson.fromJson(s, UpGradeBean.class); + if (upGradeBean.getCode().equals("200")) { + ToastUtils.showShort("成绩上传成功!"); + } else { + ToastUtils.showShort("" + upGradeBean.getStatus()); + } + } + }); + } + + /** + * 题目列表适配器 + */ + class MyAdapter extends BaseAdapter { + + @Override + public int getCount() { + return titleName != null ? titleName.size() : 0; + } + + @Override + public Object getItem(int position) { + return titleName.get(position); + } + + @Override + public long getItemId(int position) { + return position; + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { +// listview优化,复用布局以及id + ViewHolder holder; + if (convertView == null) { + holder = new ViewHolder(); + convertView = LayoutInflater.from(TestGradeActivity.this).inflate(R.layout.list_item_activity_score, null); + holder.tvTitle = (TextView) convertView.findViewById(R.id.tv_item_activty_score_title); + holder.tvOptionA = (TextView) convertView.findViewById(R.id.tv_item_activty_score_optionA); + holder.tvOptionB = (TextView) convertView.findViewById(R.id.tv_item_activty_score_optionB); + holder.tvOptionC = (TextView) convertView.findViewById(R.id.tv_item_activty_score_optionC); + holder.tvOptionD = (TextView) convertView.findViewById(R.id.tv_item_activty_score_optionD); + holder.tvRightAnswer = (TextView) convertView.findViewById(R.id.tv_item_activty_score_right); + holder.tvWrongAnswer = (TextView) convertView.findViewById(R.id.tv_item_activty_score_wrong); + + convertView.setTag(holder); + } else { + holder = (ViewHolder) convertView.getTag(); + } +// 查询数据库Integer.toString(Integer.parseInt(titleName.get(i))) + QuestBean questBeenC = LoveDao.queryLove(Integer.toString(Integer.parseInt(titleName.get(position).toString()))); + String title = questBeenC.getTitle(); + holder.tvTitle.setText(position + 1 + "." + title); +// 设置题目数据 + // 显示正确答案以及填写答案 + String rightAnswer = questBeenC.getAnswer(); + holder.tvRightAnswer.setText("正确答案:" + rightAnswer); + +// 选择 + if (("1".equals(questBeenC.getQ_type() + ""))) { + String optionA = questBeenC.getOptionA(); + holder.tvOptionA.setText(optionA); + String optionB = questBeenC.getOptionB(); + holder.tvOptionB.setText(optionB); + String optionC = questBeenC.getOptionC(); + holder.tvOptionC.setText(optionC); + String optionD = questBeenC.getOptionD(); + holder.tvOptionD.setText(optionD); + String YourAnswer = questBeenC.getMyanswer(); + holder.tvWrongAnswer.setText("你的答案:" + YourAnswer); + + if (!rightAnswer.equals(YourAnswer)) { + holder.tvTitle.setTextColor(Color.RED); + } + } +// 判断 + else if ("2".equals(questBeenC.getQ_type() + "")) { + holder.tvOptionA.setText("对"); + holder.tvOptionB.setText("错"); + holder.tvOptionC.setVisibility(View.GONE); + holder.tvOptionD.setVisibility(View.GONE); + String YourAnswer = questBeenC.getMyanswer(); + if ("A".equals(YourAnswer)) { + holder.tvWrongAnswer.setText("你选择了:对"); + } else if ("B".equals(YourAnswer)) { + holder.tvWrongAnswer.setText("你选择了:错"); + } else { + holder.tvWrongAnswer.setText("你没有进行选择"); + } + + } + + return convertView; + } + + class ViewHolder { + TextView tvTitle, tvRightAnswer, tvWrongAnswer, tvOptionA, + tvOptionB, tvOptionC, tvOptionD; + } + } +}}