HomeworkDetailActivity.java 2.71 KB
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.google.gson.Gson;
import com.hjx.parent.databinding.ActivityHomeworkDetailBinding;
import com.hjx.parent.rx.BaseRxActivity;
import com.prws.common.bean.ResponseResult;
import com.prws.common.bean.homework.HomeWork;
import com.prws.common.bean.homework.HomeworkList;
import com.prws.common.net.NetWorks;

import java.util.ArrayList;

public class HomeworkDetailActivity extends BaseRxActivity<ActivityHomeworkDetailBinding> {

    private HomeworkList mData;

    private Adapter mAdapter = new Adapter();

    @Override
    public void initView(Bundle savedInstanceState) {
        binding.toolbar.setNavigationOnClickListener(v -> onBackPressed());
        String json = getIntent().getStringExtra("data");
        mData = new Gson().fromJson(json, HomeworkList.class);
        binding.tvTitle.setText(mData.getName());

        binding.recyclerView.setAdapter(mAdapter);
        getDetail();

        binding.btnFeedback.setOnClickListener(v -> {
            Intent intent = new Intent(this, HomeworkSelectActivity.class);
            intent.putExtra("data", mData);
            intent.putExtra("list", new ArrayList<>(mAdapter.getData()));
            startActivity(intent);
        });
    }

    @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);
                });
    }

    @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);
        }
    }
}