From 1c47b5ebd2c175f02ca75232d950bb3402c33848 Mon Sep 17 00:00:00 2001 From: md Date: Fri, 28 May 2021 18:41:20 +0800 Subject: [PATCH] =?UTF-8?q?'=E8=83=BD=E5=8A=9B=E6=B5=8B=E8=AF=84=E9=83=A8?= =?UTF-8?q?=E5=88=86=E5=AE=9E=E7=8E=B0'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activity/FragmentManagement.java | 131 +++++++----- .../CapacityEvaluationAdapter.java | 11 +- .../adapter/CapacityItemAdapter.java | 83 ++++++++ .../adapter/CapacityMeasureAdapter.java | 80 ++++++++ .../TaskExplainAdapter.java | 2 +- .../TaskExplainAdapter2.java | 2 +- .../example/myapplication/bean/BolBean.java | 49 +++++ .../bean/CapacityMeasureBean.java | 152 ++++++++++++++ .../myapplication/bean/MeasureBean.java | 149 ++++++++++++++ .../fragment/CapacityEvaluationFragment.java | 13 +- .../fragment/CapacityEvaluationFragment2.java | 98 ++++++++- .../fragment/CapacityMeasurementFragment.java | 112 ++++++++++ .../fragment/TaskExWebFragment.java | 37 ++++ .../fragment/TaskExplainFragment.java | 2 +- .../fragment/TaskExplainFragment2.java | 12 +- .../myapplication/http/HttpInterface.java | 15 +- .../main/res/drawable/ic_baseline_arrow.xml | 3 +- app/src/main/res/layout/capacity_item.xml | 54 +++-- .../res/layout/fragment_capacity_eva_web.xml | 58 ++++++ .../layout/fragment_capacity_evaluation.xml | 2 +- .../layout/fragment_capacity_evaluation2.xml | 1 - .../main/res/layout/fragment_task_ex_web.xml | 13 ++ app/src/main/res/layout/measure_item.xml | 192 ++++++++++++++++++ app/src/main/res/layout/task_explain2.xml | 3 +- .../res/{mipmap-xxhdpi => mipmap-ldpi}/bg.png | Bin app/src/main/res/values/colors.xml | 1 + app/src/main/res/values/strings.xml | 2 + 27 files changed, 1178 insertions(+), 99 deletions(-) rename app/src/main/java/com/example/myapplication/{activity => adapter}/CapacityEvaluationAdapter.java (83%) create mode 100644 app/src/main/java/com/example/myapplication/adapter/CapacityItemAdapter.java create mode 100644 app/src/main/java/com/example/myapplication/adapter/CapacityMeasureAdapter.java rename app/src/main/java/com/example/myapplication/{activity => adapter}/TaskExplainAdapter.java (98%) rename app/src/main/java/com/example/myapplication/{activity => adapter}/TaskExplainAdapter2.java (98%) create mode 100644 app/src/main/java/com/example/myapplication/bean/BolBean.java create mode 100644 app/src/main/java/com/example/myapplication/bean/CapacityMeasureBean.java create mode 100644 app/src/main/java/com/example/myapplication/bean/MeasureBean.java create mode 100644 app/src/main/java/com/example/myapplication/fragment/CapacityMeasurementFragment.java create mode 100644 app/src/main/java/com/example/myapplication/fragment/TaskExWebFragment.java create mode 100644 app/src/main/res/layout/fragment_capacity_eva_web.xml create mode 100644 app/src/main/res/layout/fragment_task_ex_web.xml create mode 100644 app/src/main/res/layout/measure_item.xml rename app/src/main/res/{mipmap-xxhdpi => mipmap-ldpi}/bg.png (100%) diff --git a/app/src/main/java/com/example/myapplication/activity/FragmentManagement.java b/app/src/main/java/com/example/myapplication/activity/FragmentManagement.java index 794065b..2e4ab85 100644 --- a/app/src/main/java/com/example/myapplication/activity/FragmentManagement.java +++ b/app/src/main/java/com/example/myapplication/activity/FragmentManagement.java @@ -1,11 +1,10 @@ package com.example.myapplication.activity; import android.content.Intent; -import android.os.Bundle; -import android.view.KeyEvent; import com.example.myapplication.R; import com.example.myapplication.base.BaseActivity; +import com.example.myapplication.fragment.CapacityMeasurementFragment; import com.example.myapplication.fragment.CapacityEvaluationFragment; import com.example.myapplication.fragment.CapacityEvaluationFragment2; import com.example.myapplication.fragment.EventPrefectureFragment; @@ -13,6 +12,7 @@ import com.example.myapplication.fragment.FindFragment; import com.example.myapplication.fragment.ForgetPawFragment; import com.example.myapplication.fragment.MineFragment; import com.example.myapplication.fragment.RecordFragment; +import com.example.myapplication.fragment.TaskExWebFragment; import com.example.myapplication.fragment.TaskExplainFragment; import com.example.myapplication.fragment.TaskExplainFragment2; import com.example.myapplication.fragment.TaskPrefectureFragment; @@ -33,21 +33,26 @@ import androidx.fragment.app.FragmentTransaction; public class FragmentManagement extends BaseActivity { private FragmentManager fragmentManager; private int fourthly_tag; - private MineFragment mineFragment;//我的fragment - private FindFragment findFragment;//发现的fragment - private RecordFragment recordFragment;//纪录的fragment - private TreasureFragment treasureFragment;//寻宝的fragment - private TaskPrefectureFragment taskPrefectureFragment;//发现-任务专区的fragment - private CapacityEvaluationFragment capacityEvaluationFragment;//发现-能力测评fragment + private MineFragment mineFragment;//我的fragment -1 + private FindFragment findFragment;//发现的fragment -2 + private RecordFragment recordFragment;//纪录的fragment -3 + private TreasureFragment treasureFragment;//寻宝的fragment -4 + private RegisterFragment registerFragment;//注册的fragment -5 + private ForgetPawFragment forgetPawFragment;//忘记密码fragment -6 + private TaskPrefectureFragment taskPrefectureFragment;//发现-任务专区的fragment -7 + private TaskExplainFragment taskExplainFragment;//发现-任务说明的fragment -8 + private EventPrefectureFragment eventPrefectureFragment;//发现-活动专区的fragment -9 + private TaskExplainFragment2 taskExplainFragment2;//发现-任务说明点击Item进入fragment -10 + private CapacityEvaluationFragment capacityEvaluationFragment;//发现-能力测评fragment -11 + private CapacityEvaluationFragment2 capacityEvaluationFragment2;//发现-能力测评2的fragment -12 + private TaskExWebFragment taskExWebFragment;//发现-任务说明点击Item进入Web页面的fragment -13 + private CapacityMeasurementFragment capacityMeasurementFragment;//发现-能力测评item点击跳转web的fragment -14 + + + - private TaskExplainFragment taskExplainFragment;//发现-任务说明的fragment - private EventPrefectureFragment eventPrefectureFragment;//发现-活动专区的fragment - private TaskExplainFragment2 taskExplainFragment2;//发现-任务说明2的fragment - private CapacityEvaluationFragment2 capacityEvaluationFragment2;//发现-能力测评2的fragment - private RegisterFragment registerFragment;//注册的fragment - private ForgetPawFragment forgetPawFragment;//忘记密码fragment @@ -69,34 +74,37 @@ public class FragmentManagement extends BaseActivity { //隐藏所有Fragment private void hideAllFragment(FragmentTransaction fragmentTransaction) { - if (mineFragment != null) + if (mineFragment != null)//我的fragment -1 fragmentTransaction.hide(mineFragment); - if (findFragment != null) + if (findFragment != null)//发现的fragment -2 fragmentTransaction.hide(findFragment); - if (recordFragment != null) + if (recordFragment != null)//记录的fragment -3 fragmentTransaction.hide(recordFragment); - if (treasureFragment != null) + if (treasureFragment != null)//寻宝的fragment -4 fragmentTransaction.hide(treasureFragment); - if (taskPrefectureFragment!=null) - - if (taskPrefectureFragment != null) - fragmentTransaction.hide(taskPrefectureFragment); - if (taskExplainFragment != null) - fragmentTransaction.hide(taskExplainFragment); - if (taskExplainFragment2 != null) - fragmentTransaction.hide(taskExplainFragment2); - - if (capacityEvaluationFragment != null) - fragmentTransaction.hide(capacityEvaluationFragment); - if (capacityEvaluationFragment2 != null) - fragmentTransaction.hide(capacityEvaluationFragment2); - - if (registerFragment != null) + if (registerFragment != null)//注册的fragment -5 fragmentTransaction.hide(registerFragment); - if (forgetPawFragment != null) + if (forgetPawFragment != null)//忘记密码fragment -6 fragmentTransaction.hide(forgetPawFragment); - if (eventPrefectureFragment != null) + if (taskPrefectureFragment != null)//发现-任务专区的fragment -7 + fragmentTransaction.hide(taskPrefectureFragment); + if (taskExplainFragment != null) //发现 - 任务说明的fragment -8 + fragmentTransaction.hide(taskExplainFragment); + if (eventPrefectureFragment != null)//发现-活动专区的fragment -9 fragmentTransaction.hide(eventPrefectureFragment); + if (taskExplainFragment2 != null)//发现-任务说明点击Item进入fragment -10 + fragmentTransaction.hide(taskExplainFragment2); + if (capacityEvaluationFragment != null)//发现-能力测评fragment -11 + fragmentTransaction.hide(capacityEvaluationFragment); + if (capacityEvaluationFragment2 != null)//发现-能力测评2的fragment -12 + fragmentTransaction.hide(capacityEvaluationFragment2); + if (taskExWebFragment != null)//发现-任务说明点击Item进入Web页面的fragment -13 + fragmentTransaction.hide(taskExWebFragment); + if (capacityMeasurementFragment != null)//发现-能力测评item点击跳转web的fragment -14 + fragmentTransaction.hide(capacityMeasurementFragment); + + + } @@ -104,7 +112,7 @@ public class FragmentManagement extends BaseActivity { FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); hideAllFragment(fragmentTransaction); switch (i) { - case 1: + case 1://我的fragment if (mineFragment == null) { mineFragment = new MineFragment(); fragmentTransaction.add(R.id.frame_layout, mineFragment); @@ -115,7 +123,7 @@ public class FragmentManagement extends BaseActivity { bundle1.putString("grad", getIntent().getStringExtra("grad")); mineFragment.setArguments(bundle1);*/ break; - case 2: + case 2://发现的fragment if (findFragment == null) { findFragment = new FindFragment(); fragmentTransaction.add(R.id.frame_layout, findFragment); @@ -123,7 +131,7 @@ public class FragmentManagement extends BaseActivity { fragmentTransaction.show(findFragment); } break; - case 3: + case 3://纪录的fragment if (recordFragment == null) { recordFragment = new RecordFragment(); fragmentTransaction.add(R.id.frame_layout, recordFragment); @@ -131,7 +139,7 @@ public class FragmentManagement extends BaseActivity { fragmentTransaction.show(recordFragment); } break; - case 4: + case 4://寻宝的fragment if (treasureFragment == null) { treasureFragment = new TreasureFragment(); fragmentTransaction.add(R.id.frame_layout, treasureFragment); @@ -139,7 +147,7 @@ public class FragmentManagement extends BaseActivity { fragmentTransaction.show(treasureFragment); } break; - case 5: + case 5://注册的fragment if (registerFragment == null) { registerFragment = new RegisterFragment(); fragmentTransaction.add(R.id.frame_layout, registerFragment); @@ -147,7 +155,7 @@ public class FragmentManagement extends BaseActivity { fragmentTransaction.show(registerFragment); } break; - case 6: + case 6://忘记密码fragment if (forgetPawFragment == null) { forgetPawFragment = new ForgetPawFragment(); fragmentTransaction.add(R.id.frame_layout, forgetPawFragment); @@ -155,7 +163,7 @@ public class FragmentManagement extends BaseActivity { fragmentTransaction.show(forgetPawFragment); } break; - case 7: + case 7://发现-任务专区的fragment if (taskPrefectureFragment == null) { taskPrefectureFragment = new TaskPrefectureFragment(); fragmentTransaction.add(R.id.frame_layout, taskPrefectureFragment); @@ -163,7 +171,7 @@ public class FragmentManagement extends BaseActivity { fragmentTransaction.show(taskPrefectureFragment); } break; - case 8: + case 8: //发现 - 任务说明的fragment if (taskExplainFragment == null) { taskExplainFragment = new TaskExplainFragment(); fragmentTransaction.add(R.id.frame_layout, taskExplainFragment); @@ -171,7 +179,7 @@ public class FragmentManagement extends BaseActivity { fragmentTransaction.show(taskExplainFragment); } break; - case 9: + case 9://发现-活动专区的fragment if (eventPrefectureFragment == null) { eventPrefectureFragment = new EventPrefectureFragment(); fragmentTransaction.add(R.id.frame_layout, eventPrefectureFragment); @@ -179,7 +187,7 @@ public class FragmentManagement extends BaseActivity { fragmentTransaction.show(eventPrefectureFragment); } break; - case 10: + case 10://发现-任务说明点击Item进入fragment if (taskExplainFragment2 == null) { taskExplainFragment2 = new TaskExplainFragment2(); fragmentTransaction.add(R.id.frame_layout, taskExplainFragment2); @@ -187,7 +195,7 @@ public class FragmentManagement extends BaseActivity { fragmentTransaction.show(taskExplainFragment2); } break; - case 11: + case 11://发现-能力测评fragment - if (capacityEvaluationFragment == null) { capacityEvaluationFragment = new CapacityEvaluationFragment(); fragmentTransaction.add(R.id.frame_layout, capacityEvaluationFragment); @@ -195,7 +203,7 @@ public class FragmentManagement extends BaseActivity { fragmentTransaction.show(capacityEvaluationFragment); } break; - case 12: + case 12://发现-能力测评2的fragment - if (capacityEvaluationFragment2 == null) { capacityEvaluationFragment2 = new CapacityEvaluationFragment2(); fragmentTransaction.add(R.id.frame_layout, capacityEvaluationFragment2); @@ -203,6 +211,22 @@ public class FragmentManagement extends BaseActivity { fragmentTransaction.show(capacityEvaluationFragment2); } break; + case 13://发现-任务说明点击Item进入Web页面的fragment + if (taskExWebFragment == null) { + taskExWebFragment = new TaskExWebFragment(); + fragmentTransaction.add(R.id.frame_layout, taskExWebFragment); + } else { + fragmentTransaction.show(taskExWebFragment); + } + break; + case 14://发现-能力测评item点击跳转测试的fragment + if (capacityMeasurementFragment == null) { + capacityMeasurementFragment = new CapacityMeasurementFragment(); + fragmentTransaction.add(R.id.frame_layout, capacityMeasurementFragment); + } else { + fragmentTransaction.show(capacityMeasurementFragment); + } + break; } @@ -246,17 +270,24 @@ public class FragmentManagement extends BaseActivity { case 11: capacityEvaluationFragment.onActivityResult(requestCode, resultCode, data); break; - case 12: + case 12: capacityEvaluationFragment2.onActivityResult(requestCode, resultCode, data); break; + case 13: + taskExWebFragment.onActivityResult(requestCode, resultCode, data); + break; + case 14: + capacityMeasurementFragment.onActivityResult(requestCode, resultCode, data); + break; } } private void setZtlTextColor() { - ImmersionBar.with(this).statusBarDarkFont(true, 0.2f) - //原理:如果当前设备支持状态栏字体变色,会设置状态栏字体为黑色,如果当前设备不支持状态栏字体变色,会使当前状态栏加上透明度,否则不执行透明度 + ImmersionBar.with(this) + .statusBarDarkFont(true, 0.2f) //原理:如果当前设备支持状态栏字体变色,会设置状态栏字体为黑色,如果当前设备不支持状态栏字体变色,会使当前状态栏加上透明度,否则不执行透明度 .init(); + } } diff --git a/app/src/main/java/com/example/myapplication/activity/CapacityEvaluationAdapter.java b/app/src/main/java/com/example/myapplication/adapter/CapacityEvaluationAdapter.java similarity index 83% rename from app/src/main/java/com/example/myapplication/activity/CapacityEvaluationAdapter.java rename to app/src/main/java/com/example/myapplication/adapter/CapacityEvaluationAdapter.java index 2f64109..4e7c012 100644 --- a/app/src/main/java/com/example/myapplication/activity/CapacityEvaluationAdapter.java +++ b/app/src/main/java/com/example/myapplication/adapter/CapacityEvaluationAdapter.java @@ -1,4 +1,4 @@ -package com.example.myapplication.activity; +package com.example.myapplication.adapter; import android.content.Context; import android.view.LayoutInflater; @@ -14,20 +14,20 @@ import com.bumptech.glide.Glide; import com.bumptech.glide.load.resource.bitmap.CircleCrop; import com.bumptech.glide.request.RequestOptions; import com.example.myapplication.R; -import com.example.myapplication.bean.TaskExplainInfo; +import com.example.myapplication.bean.CapacityMeasureBean; import java.util.ArrayList; import java.util.List; public class CapacityEvaluationAdapter extends RecyclerView.Adapter { - private List capacityList = new ArrayList<>(); + private List capacityList = new ArrayList<>(); private Context context; public CapacityEvaluationAdapter(Context context) { this.context = context; } - public void setCapacityList(List capacityList) { + public void setCapacityList(List capacityList) { this.capacityList.addAll(capacityList); notifyDataSetChanged(); } @@ -42,6 +42,7 @@ public class CapacityEvaluationAdapter extends RecyclerView.Adapter { + private List capItemList = new ArrayList<>(); + private Context context; + + public CapacityItemAdapter(Context context) { + this.context = context; + } + + public void setCapItemList(List capItemList) { + this.capItemList.addAll(capItemList); + notifyDataSetChanged(); + } + + @NonNull + @Override + public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + final View capItem = LayoutInflater.from(context).inflate(R.layout.capacity_item, parent, false); + return new ViewHolder(capItem); + } + + @Override + public void onBindViewHolder(@NonNull ViewHolder holder, int position) { + holder.tvCapItem.setText(capItemList.get(position).getTitle()); + holder.tvReaus.setText(capItemList.get(position).getStatus()); + Glide.with(context).load(capItemList.get(position).getSrc()).apply(RequestOptions.bitmapTransform(new CircleCrop())).into(holder.ivCapItem); + holder.itemView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (setOnClick!=null){ + setOnClick.onClick(position); + } + } + }); + + } + + @Override + public int getItemCount() { + return capItemList.size(); + } + + class ViewHolder extends RecyclerView.ViewHolder { + ImageView ivCapItem; + TextView tvCapItem; + TextView tvReaus; + public ViewHolder(@NonNull View itemView) { + super(itemView); + ivCapItem = itemView.findViewById(R.id.iv_tas_capacity); + tvCapItem = itemView.findViewById(R.id.tas_capacity_title); + tvReaus = itemView.findViewById(R.id.tv_capacity_through); + } + } + public interface setOnClick{ + void onClick(int position); + } + + private setOnClick setOnClick; + + public void setSetOnClick(setOnClick setOnClick) { + this.setOnClick = setOnClick; + } +} diff --git a/app/src/main/java/com/example/myapplication/adapter/CapacityMeasureAdapter.java b/app/src/main/java/com/example/myapplication/adapter/CapacityMeasureAdapter.java new file mode 100644 index 0000000..1b15412 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/adapter/CapacityMeasureAdapter.java @@ -0,0 +1,80 @@ +package com.example.myapplication.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.RadioButton; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.bumptech.glide.Glide; +import com.example.myapplication.R; +import com.example.myapplication.bean.BolBean; +import com.example.myapplication.bean.MeasureBean; + +import java.util.ArrayList; +import java.util.List; + +public class CapacityMeasureAdapter extends RecyclerView.Adapter { + private List measureList = new ArrayList<>(); + private Context context; + + public CapacityMeasureAdapter(Context context) { + this.context = context; + } + + public void setMeasureList(List measureList) { + this.measureList.addAll(measureList); + } + + @NonNull + @Override + public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + final View inflate = LayoutInflater.from(context).inflate(R.layout.measure_item, parent, false); + return new ViewHolder(inflate); + } + + @Override + public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) { + ViewHolder holder1 = (ViewHolder) holder; + holder1.tvMeasure.setText((position+1)+measureList.get(position).getQuestion()); + + // Glide.with(context).load(measureList.get(position).getSingleChoice().get(0).getOption()); + } + + @Override + public int getItemCount() { + return measureList.size(); + } + + class ViewHolder extends RecyclerView.ViewHolder { + TextView tvMeasure; + TextView tvMeasure2; + RadioButton tvMeasureA; + RadioButton tvMeasureB; + RadioButton tvMeasureC; + RadioButton tvMeasureD; + ImageView ivMeasureA; + ImageView ivMeasureB; + ImageView ivMeasureC; + ImageView ivMeasureD; + + public ViewHolder(@NonNull View itemView) { + super(itemView); + tvMeasure = itemView.findViewById(R.id.tv_measure_text1); + tvMeasure2 = itemView.findViewById(R.id.tv_measure_text2); + tvMeasureA = itemView.findViewById(R.id.rb_tv_measureA); + tvMeasureB = itemView.findViewById(R.id.rb_tv_measureB); + tvMeasureC = itemView.findViewById(R.id.rb_tv_measureC); + tvMeasureD = itemView.findViewById(R.id.rb_tv_measureD); + ivMeasureA = itemView.findViewById(R.id.iv_measureA); + ivMeasureB = itemView.findViewById(R.id.iv_measureB); + ivMeasureC = itemView.findViewById(R.id.iv_measureC); + ivMeasureD = itemView.findViewById(R.id.iv_measureD); + } + } +} diff --git a/app/src/main/java/com/example/myapplication/activity/TaskExplainAdapter.java b/app/src/main/java/com/example/myapplication/adapter/TaskExplainAdapter.java similarity index 98% rename from app/src/main/java/com/example/myapplication/activity/TaskExplainAdapter.java rename to app/src/main/java/com/example/myapplication/adapter/TaskExplainAdapter.java index 001505c..23a9ac2 100644 --- a/app/src/main/java/com/example/myapplication/activity/TaskExplainAdapter.java +++ b/app/src/main/java/com/example/myapplication/adapter/TaskExplainAdapter.java @@ -1,4 +1,4 @@ -package com.example.myapplication.activity; +package com.example.myapplication.adapter; import android.content.Context; import android.view.LayoutInflater; diff --git a/app/src/main/java/com/example/myapplication/activity/TaskExplainAdapter2.java b/app/src/main/java/com/example/myapplication/adapter/TaskExplainAdapter2.java similarity index 98% rename from app/src/main/java/com/example/myapplication/activity/TaskExplainAdapter2.java rename to app/src/main/java/com/example/myapplication/adapter/TaskExplainAdapter2.java index dc79400..b97c6e3 100644 --- a/app/src/main/java/com/example/myapplication/activity/TaskExplainAdapter2.java +++ b/app/src/main/java/com/example/myapplication/adapter/TaskExplainAdapter2.java @@ -1,4 +1,4 @@ -package com.example.myapplication.activity; +package com.example.myapplication.adapter; import android.content.Context; import android.view.LayoutInflater; diff --git a/app/src/main/java/com/example/myapplication/bean/BolBean.java b/app/src/main/java/com/example/myapplication/bean/BolBean.java new file mode 100644 index 0000000..f85246b --- /dev/null +++ b/app/src/main/java/com/example/myapplication/bean/BolBean.java @@ -0,0 +1,49 @@ +package com.example.myapplication.bean; + +import java.util.List; + +public class BolBean { + private long id; + private String question; + private List option; + private boolean isM;//是否多选 + + public BolBean(long id, String question, List option, boolean isM) { + this.id = id; + this.question = question; + this.option = option; + this.isM = isM; + } + + public boolean isM() { + return isM; + } + + public void setM(boolean m) { + isM = m; + } + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public String getQuestion() { + return question; + } + + public void setQuestion(String question) { + this.question = question; + } + + public List getOption() { + return option; + } + + public void setOption(List option) { + this.option = option; + } +} diff --git a/app/src/main/java/com/example/myapplication/bean/CapacityMeasureBean.java b/app/src/main/java/com/example/myapplication/bean/CapacityMeasureBean.java new file mode 100644 index 0000000..e9b780b --- /dev/null +++ b/app/src/main/java/com/example/myapplication/bean/CapacityMeasureBean.java @@ -0,0 +1,152 @@ +package com.example.myapplication.bean; + +import java.util.List; + +public class CapacityMeasureBean { + + /** + * status : 0 + * msg : 成功 + * body : {"rownum":0,"data":[{"Subtitle":"(vZcEVf","createtime":"N)VOM","src":"http://10.130.23.166:8080/cbt/img/blue.png","id":11,"title":"标题11","status":"通过"}],"numFound":100,"rows":10} + */ + + private int status; + private String msg; + private BodyBean body; + + public int getStatus() { + return status; + } + + public void setStatus(int status) { + this.status = status; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public BodyBean getBody() { + return body; + } + + public void setBody(BodyBean body) { + this.body = body; + } + + public static class BodyBean { + /** + * rownum : 0 + * data : [{"Subtitle":"(vZcEVf","createtime":"N)VOM","src":"http://10.130.23.166:8080/cbt/img/blue.png","id":11,"title":"标题11","status":"通过"}] + * numFound : 100 + * rows : 10 + */ + + private int rownum; + private int numFound; + private int rows; + private List data; + + public int getRownum() { + return rownum; + } + + public void setRownum(int rownum) { + this.rownum = rownum; + } + + public int getNumFound() { + return numFound; + } + + public void setNumFound(int numFound) { + this.numFound = numFound; + } + + public int getRows() { + return rows; + } + + public void setRows(int rows) { + this.rows = rows; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * Subtitle : (vZcEVf + * createtime : N)VOM + * src : http://10.130.23.166:8080/cbt/img/blue.png + * id : 11 + * title : 标题11 + * status : 通过 + */ + + private String Subtitle; + private String createtime; + private String src; + private int id; + private String title; + private String status; + + public String getSubtitle() { + return Subtitle; + } + + public void setSubtitle(String Subtitle) { + this.Subtitle = Subtitle; + } + + public String getCreatetime() { + return createtime; + } + + public void setCreatetime(String createtime) { + this.createtime = createtime; + } + + public String getSrc() { + return src; + } + + public void setSrc(String src) { + this.src = src; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + } + } +} diff --git a/app/src/main/java/com/example/myapplication/bean/MeasureBean.java b/app/src/main/java/com/example/myapplication/bean/MeasureBean.java new file mode 100644 index 0000000..fd20ec7 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/bean/MeasureBean.java @@ -0,0 +1,149 @@ +package com.example.myapplication.bean; + +import java.util.List; + +public class MeasureBean { + + /** + * status : 0 + * msg : 成功 + * body : {"title":"0","singleChoice":[{"id":-7433716441913744,"question":"ucEnJR","option":[]}],"multiChoice":[{"id":165541861534708,"question":"ByClM","option":[]}]} + */ + + private int status; + private String msg; + private BodyBean body; + + public int getStatus() { + return status; + } + + public void setStatus(int status) { + this.status = status; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public BodyBean getBody() { + return body; + } + + public void setBody(BodyBean body) { + this.body = body; + } + + public static class BodyBean { + /** + * title : 0 + * singleChoice : [{"id":-7433716441913744,"question":"ucEnJR","option":[]},{"id":-7433716441913744,"question":"ucEnJR","option":[]}] + * multiChoice : [{"id":165541861534708,"question":"ByClM","option":[]}] + */ + + private String title; + private List singleChoice; + private List multiChoice; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public List getSingleChoice() { + return singleChoice; + } + + public void setSingleChoice(List singleChoice) { + this.singleChoice = singleChoice; + } + + public List getMultiChoice() { + return multiChoice; + } + + public void setMultiChoice(List multiChoice) { + this.multiChoice = multiChoice; + } + + public static class SingleChoiceBean { + /** + * id : -7433716441913744 + * question : ucEnJR + * option : [] + */ + + private long id; + private String question; + private List option; + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public String getQuestion() { + return question; + } + + public void setQuestion(String question) { + this.question = question; + } + + public List getOption() { + return option; + } + + public void setOption(List option) { + this.option = option; + } + } + + public static class MultiChoiceBean { + /** + * id : 165541861534708 + * question : ByClM + * option : [] + */ + + private long id; + private String question; + private List option; + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public String getQuestion() { + return question; + } + + public void setQuestion(String question) { + this.question = question; + } + + public List getOption() { + return option; + } + + public void setOption(List option) { + this.option = option; + } + } + } + +} diff --git a/app/src/main/java/com/example/myapplication/fragment/CapacityEvaluationFragment.java b/app/src/main/java/com/example/myapplication/fragment/CapacityEvaluationFragment.java index 874458c..c581c03 100644 --- a/app/src/main/java/com/example/myapplication/fragment/CapacityEvaluationFragment.java +++ b/app/src/main/java/com/example/myapplication/fragment/CapacityEvaluationFragment.java @@ -10,9 +10,10 @@ import androidx.recyclerview.widget.DividerItemDecoration; import androidx.recyclerview.widget.LinearLayoutManager; import com.example.myapplication.R; -import com.example.myapplication.activity.CapacityEvaluationAdapter; +import com.example.myapplication.adapter.CapacityEvaluationAdapter; import com.example.myapplication.activity.FragmentManagement; import com.example.myapplication.base.BaseFragment; +import com.example.myapplication.bean.CapacityMeasureBean; import com.example.myapplication.bean.TaskExplainInfo; import com.example.myapplication.http.Callback; import com.example.myapplication.http.HttpInterface; @@ -25,7 +26,7 @@ import org.json.JSONObject; import java.util.ArrayList; /** - * 发现页面的活动专区 + * 发现-能力测评 */ public class CapacityEvaluationFragment extends BaseFragment implements View.OnClickListener { @@ -91,13 +92,13 @@ public class CapacityEvaluationFragment extends BaseFragment implements View.OnC private void initNewWork(boolean b) { OkGoBuilder.getInstance() .Builder(getActivity()) - .url(HttpInterface.listTaskExplain) + .url(HttpInterface.MSG_LISt) .method(OkGoBuilder.GET) - .cls(TaskExplainInfo.class) + .cls(CapacityMeasureBean.class) .json(new JSONObject()) - .callback(new Callback() { + .callback(new Callback() { @Override - public void onSuccess(TaskExplainInfo response, int id) { + public void onSuccess(CapacityMeasureBean response, int id) { dismissLoadingDialog(); capacityEvaluationAdapter.setCapacityList(response.getBody().getData()); Log.d("TAG", "onSuccess: " + response.getMsg() + "sssssssssssss"); diff --git a/app/src/main/java/com/example/myapplication/fragment/CapacityEvaluationFragment2.java b/app/src/main/java/com/example/myapplication/fragment/CapacityEvaluationFragment2.java index 1efd5e6..9abc223 100644 --- a/app/src/main/java/com/example/myapplication/fragment/CapacityEvaluationFragment2.java +++ b/app/src/main/java/com/example/myapplication/fragment/CapacityEvaluationFragment2.java @@ -1,21 +1,40 @@ package com.example.myapplication.fragment; -import android.os.Bundle; - -import androidx.fragment.app.Fragment; - -import android.view.LayoutInflater; +import android.content.Intent; +import android.util.Log; import android.view.View; -import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.Toast; + +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; import com.example.myapplication.R; +import com.example.myapplication.adapter.CapacityItemAdapter; +import com.example.myapplication.activity.FragmentManagement; import com.example.myapplication.base.BaseFragment; +import com.example.myapplication.bean.CapacityMeasureBean; +import com.example.myapplication.bean.TaskExplainInfo; +import com.example.myapplication.http.Callback; +import com.example.myapplication.http.HttpInterface; +import com.example.myapplication.http.OkGoBuilder; +import com.jcodecraeer.xrecyclerview.ProgressStyle; +import com.jcodecraeer.xrecyclerview.XRecyclerView; + +import org.json.JSONObject; + +import java.util.ArrayList; /** * 能力测评的第二个页面 */ public class CapacityEvaluationFragment2 extends BaseFragment implements View.OnClickListener { + private ImageView ivCapItemFinish; + private XRecyclerView capacityRlv; + private CapacityItemAdapter capacityItemAdapter; + private ArrayList capItemList; + @Override protected int getLayout() { return R.layout.fragment_capacity_evaluation2; @@ -24,13 +43,78 @@ public class CapacityEvaluationFragment2 extends BaseFragment implements View.On @Override protected void initView() { super.initView(); + ivCapItemFinish = findViewById(R.id.iv_task_capacity2_finish); + capacityRlv = findViewById(R.id.task_capacity2_recycler); + ivCapItemFinish.setOnClickListener(this::onClick); + capacityRlv.setLayoutManager(new LinearLayoutManager(getActivity())); + capacityRlv.addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL)); + capacityRlv.setRefreshProgressStyle(ProgressStyle.BallSpinFadeLoader); + capacityRlv.setLoadingMoreProgressStyle(ProgressStyle.BallRotate); + capacityRlv.setPullRefreshEnabled(false); + capacityRlv.setLoadingMoreEnabled(false); + capacityItemAdapter = new CapacityItemAdapter(getActivity()); + capacityRlv.setAdapter(capacityItemAdapter); + capacityRlv.getDefaultFootView().setNoMoreHint("已经加载成功"); + capacityRlv.setLoadingListener(new XRecyclerView.LoadingListener() { + @Override + public void onRefresh() { + + } + + @Override + public void onLoadMore() { + + } + }); + capacityItemAdapter.setSetOnClick(new CapacityItemAdapter.setOnClick() { + @Override + public void onClick(int position) { + final Intent capacityEvaWeb = new Intent(getActivity(), FragmentManagement.class); + capacityEvaWeb.putExtra("tag",14); + startActivity(capacityEvaWeb); + } + }); + } + @Override protected void initData() { super.initData(); + capItemList = new ArrayList<>(); + initNetWorks(true); } + + private void initNetWorks(boolean b) { + OkGoBuilder.getInstance() + .Builder(getActivity()) + .url(HttpInterface.MSG_LISt) + .method(OkGoBuilder.GET) + .cls(CapacityMeasureBean.class) + .json(new JSONObject()) + .callback(new Callback() { + @Override + public void onSuccess(CapacityMeasureBean response, int id) { + dismissLoadingDialog(); + capacityItemAdapter.setCapItemList(response.getBody().getData()); + Log.d("TAG", "onSuccess: " + response.getMsg() + "sssssssssssss"); + //Toast.makeText(getActivity(), response.getMsg() + "", Toast.LENGTH_SHORT).show(); + } + + @Override + public void onError(Throwable e, int id) { + dismissLoadingDialog(); + Toast.makeText(getActivity(), e.getMessage(), Toast.LENGTH_SHORT).show(); + Log.d("TAG", "onError: " + e.getMessage()); + } + }).build(); + } + @Override public void onClick(View v) { - + switch (v.getId()) { + case R.id.iv_task_capacity2_finish: + getActivity().finish(); + break; + } } } \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/fragment/CapacityMeasurementFragment.java b/app/src/main/java/com/example/myapplication/fragment/CapacityMeasurementFragment.java new file mode 100644 index 0000000..7a894ef --- /dev/null +++ b/app/src/main/java/com/example/myapplication/fragment/CapacityMeasurementFragment.java @@ -0,0 +1,112 @@ +package com.example.myapplication.fragment; + +import android.util.Log; +import android.view.View; +import android.widget.ImageView; +import android.widget.Toast; + +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.example.myapplication.R; +import com.example.myapplication.adapter.CapacityItemAdapter; +import com.example.myapplication.adapter.CapacityMeasureAdapter; +import com.example.myapplication.base.BaseFragment; +import com.example.myapplication.bean.BolBean; +import com.example.myapplication.bean.CapacityMeasureBean; +import com.example.myapplication.bean.MeasureBean; +import com.example.myapplication.http.Callback; +import com.example.myapplication.http.HttpInterface; +import com.example.myapplication.http.OkGoBuilder; + +import org.json.JSONObject; + +import java.util.ArrayList; +import java.util.List; + +/** + * 发现-能力测评条目点击进入测试页面 + */ +public class CapacityMeasurementFragment extends BaseFragment implements View.OnClickListener { + private ImageView ivMeasurementFinish; + private RecyclerView capacityMeasurementRel; + private CapacityMeasureAdapter capacityMeasureAdapter; + private ArrayList bolbean; + + @Override + protected int getLayout() { + return R.layout.fragment_capacity_eva_web; + } + + @Override + protected void initView() { + super.initView(); + ivMeasurementFinish = (ImageView) findViewById(R.id.iv_measurement_finish); + capacityMeasurementRel = (RecyclerView) findViewById(R.id.capacity_measurementRel); + ivMeasurementFinish.setOnClickListener(this::onClick); + capacityMeasurementRel.setLayoutManager(new LinearLayoutManager(getActivity())); + capacityMeasureAdapter = new CapacityMeasureAdapter(getActivity()); + capacityMeasurementRel.setAdapter(capacityMeasureAdapter); + + } + + @Override + protected void initData() { + super.initData(); + bolbean = new ArrayList<>(); + + initNetWorks(true); + } + + private void initNetWorks(boolean b) { + OkGoBuilder.getInstance() + .Builder(getActivity()) + .url(HttpInterface.MSG_LISt) + .method(OkGoBuilder.GET) + .cls(MeasureBean.class) + .json(new JSONObject()) + .callback(new Callback() { + @Override + public void onSuccess(MeasureBean response, int id) { + dismissLoadingDialog(); + //单选 + final List multiChoice = response.getBody().getMultiChoice(); + //多选 + final List singleChoice1 = response.getBody().getSingleChoice(); + if (multiChoice != null) { + for (int i = 0; i < multiChoice.size(); i++) { + bolbean.add(new BolBean(multiChoice.get(i).getId(), multiChoice.get(i).getQuestion(), multiChoice.get(i).getOption(), true)); + } + } + if (singleChoice1 != null) { + for (int i = 0; i < singleChoice1.size(); i++) { + bolbean.add(new BolBean(singleChoice1.get(i).getId(), singleChoice1.get(i).getQuestion(), singleChoice1.get(i).getOption(), false)); + } + } + + if (bolbean != null) { + capacityMeasureAdapter.setMeasureList(bolbean); + } + + Log.d("TAG", "onSuccess: " + response.toString()+ "sssssssssssss"); + //Toast.makeText(getActivity(), response.getMsg() + "", Toast.LENGTH_SHORT).show(); + } + + @Override + public void onError(Throwable e, int id) { + dismissLoadingDialog(); + Toast.makeText(getActivity(), e.getMessage(), Toast.LENGTH_SHORT).show(); + Log.d("TAG", "onError: " + e.getMessage()); + } + }).build(); + } + + @Override + public void onClick(View v) { + switch (v.getId()) { + case R.id.iv_measurement_finish: + getActivity().finish(); + break; + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/fragment/TaskExWebFragment.java b/app/src/main/java/com/example/myapplication/fragment/TaskExWebFragment.java new file mode 100644 index 0000000..9b25885 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/fragment/TaskExWebFragment.java @@ -0,0 +1,37 @@ +package com.example.myapplication.fragment; + +import android.os.Bundle; + +import androidx.fragment.app.Fragment; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.example.myapplication.R; +import com.example.myapplication.base.BaseFragment; + +/** + * 发现-任务说明的Item点击进入Web页面 + */ +public class TaskExWebFragment extends BaseFragment implements View.OnClickListener { + @Override + protected int getLayout() { + return R.layout.fragment_task_ex_web; + } + + @Override + protected void initView() { + super.initView(); + } + + @Override + protected void initData() { + super.initData(); + } + + @Override + public void onClick(View v) { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/fragment/TaskExplainFragment.java b/app/src/main/java/com/example/myapplication/fragment/TaskExplainFragment.java index 3b2efa0..5ec66f2 100644 --- a/app/src/main/java/com/example/myapplication/fragment/TaskExplainFragment.java +++ b/app/src/main/java/com/example/myapplication/fragment/TaskExplainFragment.java @@ -11,7 +11,7 @@ import androidx.recyclerview.widget.LinearLayoutManager; import com.example.myapplication.R; import com.example.myapplication.activity.FragmentManagement; -import com.example.myapplication.activity.TaskExplainAdapter; +import com.example.myapplication.adapter.TaskExplainAdapter; import com.example.myapplication.base.BaseFragment; import com.example.myapplication.bean.TaskExplainInfo; import com.example.myapplication.http.Callback; diff --git a/app/src/main/java/com/example/myapplication/fragment/TaskExplainFragment2.java b/app/src/main/java/com/example/myapplication/fragment/TaskExplainFragment2.java index 716f787..c1f4d50 100644 --- a/app/src/main/java/com/example/myapplication/fragment/TaskExplainFragment2.java +++ b/app/src/main/java/com/example/myapplication/fragment/TaskExplainFragment2.java @@ -1,5 +1,6 @@ package com.example.myapplication.fragment; +import android.content.Intent; import android.util.Log; import android.view.View; import android.widget.ImageView; @@ -9,8 +10,9 @@ import androidx.recyclerview.widget.DividerItemDecoration; import androidx.recyclerview.widget.LinearLayoutManager; import com.example.myapplication.R; -import com.example.myapplication.activity.TaskExplainAdapter; -import com.example.myapplication.activity.TaskExplainAdapter2; + +import com.example.myapplication.activity.FragmentManagement; +import com.example.myapplication.adapter.TaskExplainAdapter2; import com.example.myapplication.base.BaseFragment; import com.example.myapplication.bean.TaskExplainInfo; import com.example.myapplication.http.Callback; @@ -71,8 +73,10 @@ public class TaskExplainFragment2 extends BaseFragment implements View.OnClickLi taskExplainAdapter2.setOnItemClick(new TaskExplainAdapter2.OnItemClick2() { @Override public void onClick2(int pos) { - - Toast.makeText(getContext(), "你猜"+pos, Toast.LENGTH_SHORT).show(); + final Intent taskExItem = new Intent(getActivity(), FragmentManagement.class); + taskExItem.putExtra("tag",13); + startActivity(taskExItem); + // Toast.makeText(getContext(), "你猜"+pos, Toast.LENGTH_SHORT).show(); } }); } diff --git a/app/src/main/java/com/example/myapplication/http/HttpInterface.java b/app/src/main/java/com/example/myapplication/http/HttpInterface.java index c8277c3..9ccac6c 100644 --- a/app/src/main/java/com/example/myapplication/http/HttpInterface.java +++ b/app/src/main/java/com/example/myapplication/http/HttpInterface.java @@ -2,9 +2,14 @@ package com.example.myapplication.http; public class HttpInterface { //http://172.21.91.160:8000/api/user/list - public static final String IP = "http://172.21.91.160:8000/api/1/"; - public static final String listTask = IP + "task/list";//任务专区,活动专区 - public static final String listEvent = IP + "task/list";//任务专区,活动专区 - public static final String listInfo = IP + "task/info";//任务说明 - public static final String listTaskExplain = IP + "task/info";//任务说明 + public static final String IP1 = "http://172.21.91.160:8000/api/1/"; + public static final String IPm4 = "https://mockapi.eolinker.com/m5LxPbRb58eec57f4943420b1eb3b4e95b93968619a2973/m4/1/"; + //发现:测试接口 + public static final String listTask = IP1 + "task/list";//任务专区 + public static final String listEvent = IP1 + "task/list";//活动专区 + public static final String listTaskExplain = IP1 + "task/info";//任务说明 + public static final String MSG_LISt = IPm4 + "msg_list";//发现查询接口 + public static final String MSG_CONTENT = IPm4 + "msg_content";//发现 -富文本详情页请求 + public static final String EXAM_CONTENT = IPm4 + "exam_content";//发现 -能力测评获取试题接口 + public static final String EXAM_SUBMIT = IPm4 + "exam_submit";//发现 -能力测评提交试卷 post } diff --git a/app/src/main/res/drawable/ic_baseline_arrow.xml b/app/src/main/res/drawable/ic_baseline_arrow.xml index fa122e1..0f80e51 100644 --- a/app/src/main/res/drawable/ic_baseline_arrow.xml +++ b/app/src/main/res/drawable/ic_baseline_arrow.xml @@ -1,5 +1,6 @@ - + diff --git a/app/src/main/res/layout/capacity_item.xml b/app/src/main/res/layout/capacity_item.xml index 1e3326e..8d4d09e 100644 --- a/app/src/main/res/layout/capacity_item.xml +++ b/app/src/main/res/layout/capacity_item.xml @@ -1,42 +1,64 @@ + android:layout_height="100dp"> + + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + - + + + app:layout_constraintTop_toTopOf="@id/tas_capacity_title"> + + + + + + + app:layout_constraintRight_toRightOf="parent" + app:layout_constraintTop_toBottomOf="@id/ll_results" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_capacity_eva_web.xml b/app/src/main/res/layout/fragment_capacity_eva_web.xml new file mode 100644 index 0000000..b2a28eb --- /dev/null +++ b/app/src/main/res/layout/fragment_capacity_eva_web.xml @@ -0,0 +1,58 @@ + + + + + + + + + + +