HomeworkDetailActivity.java
4.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
package com.hjx.parent;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import com.bumptech.glide.Glide;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.hjx.parent.databinding.ActivityHomeworkDetailBinding;
import com.hjx.parent.dialog.EditHomeworkDialog;
import com.hjx.parent.rx.BaseRxActivity;
import com.prws.common.bean.ResponseResult;
import com.prws.common.bean.Student;
import com.prws.common.bean.homework.HomeWork;
import com.prws.common.bean.homework.HomeworkList;
import com.prws.common.net.NetWorks;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
public class HomeworkDetailActivity extends BaseRxActivity<ActivityHomeworkDetailBinding> {
private HomeworkList mData;
private Student student;
private Adapter mAdapter = new Adapter();
private EditHomeworkDialog mDialog;
@Override
public void initView(Bundle savedInstanceState) {
binding.toolbar.setNavigationOnClickListener(v -> onBackPressed());
mData = (HomeworkList) getIntent().getSerializableExtra("data");
student = (Student) getIntent().getSerializableExtra("student");
mDialog = new EditHomeworkDialog(this, mData);
binding.tvTitle.setText(mData.getName());
binding.recyclerView.setAdapter(mAdapter);
getDetail();
binding.btnFeedback.setOnClickListener(v -> {
if (mAdapter.getData().size() == 0) return;
Intent intent = new Intent(this, HomeworkSelectActivity.class);
intent.putExtra("data", mData);
intent.putExtra("student", student);
intent.putExtra("list", new ArrayList<>(mAdapter.getData()));
startActivity(intent);
});
binding.btnEdit.setOnClickListener(v -> mDialog.show(data -> {
edit(data);
}));
}
@SuppressLint("CheckResult")
private void getDetail() {
NetWorks.service_url.getHomeworkDetail(NetWorks.getHeader(), mData.getId())
.compose(transformSingle())
.map(ResponseResult::getData)
.subscribe((list, th) -> {
if (th != null) th.printStackTrace();
mAdapter.setNewData(list);
});
}
@SuppressLint("CheckResult")
private void edit(HomeworkList data) {
Map<String, Object> body = new HashMap<>();
body.put("homeworkId", data.getId());
body.put("name", data.getName());
body.put("grade", data.getGrade());
body.put("subject", data.getSubject());
body.put("term", data.getTerm());
body.put("uploadTime", data.uploadTime);
showLoadingDialog("请稍等···");
NetWorks.service_url.editHomework(NetWorks.getHeader(), body)
.compose(transformSingle())
.subscribe((response, th) -> {
if (th != null) th.printStackTrace();
if (response != null && response.getSuccess()) {
cancelLoadingDialog();
binding.tvTitle.setText(data.getName());
} else {
loadFail(response == null ? "" : response.getMsg());
}
});
}
@Override
protected ActivityHomeworkDetailBinding getViewBinding() {
return ActivityHomeworkDetailBinding.inflate(getLayoutInflater());
}
static class Adapter extends BaseQuickAdapter<HomeWork, BaseViewHolder> {
public Adapter() {
super(R.layout.item_homework_detail);
}
@SuppressLint("SetTextI18n")
@Override
protected void convert(@NonNull BaseViewHolder holder, HomeWork homeWork) {
TextView tvNumber = holder.getView(R.id.tvNumber);
ImageView imageView = holder.getView(R.id.ivTopic);
int number = getData().indexOf(homeWork) + 1;
tvNumber.setText("第" + number + "题");
Glide.with(mContext).load(homeWork.url).into(imageView);
}
}
}