ChooseActivity.java 6.71 KB
package com.hjx.parent;

import android.content.Intent;
import android.text.TextUtils;
import android.view.View;
import android.widget.ImageView;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import com.bumptech.glide.Glide;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.bumptech.glide.request.RequestOptions;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.google.gson.Gson;
import com.hjx.parent.bean.StudentBean;
import com.prws.common.base.BaseActivity;
import com.prws.common.base.BasePresenter;
import com.prws.common.net.NetWorks;
import com.prws.common.utils.LogUtil;
import com.prws.common.utils.ScreenUtils;
import com.prws.common.utils.SharedPreferencesUtil;

import org.json.JSONArray;
import org.json.JSONObject;

import java.util.ArrayList;

import butterknife.BindView;
import butterknife.OnClick;
import io.reactivex.Observer;
import io.reactivex.disposables.Disposable;
import okhttp3.ResponseBody;

public class ChooseActivity extends BaseActivity {
    @BindView(R.id.recycle)
    RecyclerView recycle;
    private int select = 0;

    @Override
    protected int layoutResId() {
        return R.layout.choose_activity;
    }

    @Override
    public Object getContract() {
        return null;
    }

    @Override
    public BasePresenter getPresenter() {
        return null;
    }

    @Override
    protected void initView() {

    }

    @Override
    protected void initListener() {

    }

    @Override
    protected void initData() {

    }

    @Override
    public void onNetChanged(int netWorkState) {

    }

    @Override
    protected void onResume() {
        super.onResume();
        loadChildList();
    }

    ArrayList<StudentBean> alist = new ArrayList<>();

    public void loadChildList() {
        NetWorks.listChildren(new Observer<ResponseBody>() {
            @Override
            public void onSubscribe(Disposable d) {

            }

            @Override
            public void onNext(ResponseBody responseBody) {
                try {
                    String str = responseBody.string().toString();
                    LogUtil.e("TAG", "----" + str);
                    JSONObject jo = new JSONObject(str);
                    boolean isSucceed = jo.getBoolean("success");
                    if (isSucceed) {
                        JSONArray jarr = jo.getJSONArray("data");
                        alist.clear();
                        for (int i = 0; i < jarr.length(); i++) {
                            JSONObject jo2 = jarr.getJSONObject(i);
                            Gson gson = new Gson();
                            StudentBean sb = gson.fromJson(jo2.toString(), StudentBean.class);
                            alist.add(sb);
                        }
                        loadList();
                    } else {

                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }

            @Override
            public void onError(Throwable e) {

            }

            @Override
            public void onComplete() {

            }
        });
    }

    public void loadList() {
        StudentBean sb = new StudentBean();
        sb.setNickName("添加学生");
        alist.add(sb);
        String student = (String) SharedPreferencesUtil.getData("student", "");
        try {
            StudentBean studentBean = new Gson().fromJson(student, StudentBean.class);
            for (int i = 0; i < alist.size(); i++) {
                if (studentBean.getStuId().equals(alist.get(i).getStuId())) {
                    select = i;
                    break;
                }
            }
        } catch (Exception e) {

        }
        BaseQuickAdapter adapter = new BaseQuickAdapter(R.layout.item_child_choose, alist) {
            @Override
            protected void convert(@NonNull BaseViewHolder item, Object o) {
                StudentBean studentBean = alist.get(item.getAdapterPosition());
                item.setText(R.id.tv_name, studentBean.getNickName());
                if (TextUtils.isEmpty(studentBean.getStuId())) {
                    item.setVisible(R.id.rl_add, true);
                    item.getConvertView().setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                            startActivity(new Intent(ChooseActivity.this, AddStudentActivity.class));
                        }
                    });
                } else {
                    item.setBackgroundRes(R.id.rl_child, select == item.getAdapterPosition() ? R.drawable.bg_solid_white_10_or : R.drawable.bg_solid_white_10);
                    item.setImageResource(R.id.iv_select, select == item.getAdapterPosition() ? R.mipmap.gx : R.mipmap.wsyq);
                    item.setVisible(R.id.rl_add, false);
                    if (TextUtils.isEmpty(studentBean.getPhoto())) {
                        item.setImageResource(R.id.iv_avatar, studentBean.getGender() == 0 ? R.mipmap.ic_avatar_male : R.mipmap.ic_avatar_female);
                    } else {
                        RoundedCorners roundedCorners = new RoundedCorners(ScreenUtils.dpToPx(ChooseActivity.this, 45));
                        RequestOptions options = RequestOptions.bitmapTransform(roundedCorners);
                        Glide.with(ChooseActivity.this).load(studentBean.getPhoto()).apply(options).into((ImageView) item.getView(R.id.iv_avatar));
                    }
                    item.setVisible(R.id.iv_vip, !"虚拟".equals(studentBean.getTeacherIdentity()));
                    item.getConvertView().setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                            select = item.getAdapterPosition();
                            notifyDataSetChanged();
                        }
                    });
                }
            }
        };
        recycle.setLayoutManager(new LinearLayoutManager(ChooseActivity.this, LinearLayoutManager.VERTICAL, false));
        recycle.setAdapter(adapter);
    }

    @OnClick(R.id.tv_confirm)
    public void confirm(View view) {
        if (alist.size() > 0 && alist.size() - 1 >= select && alist.get(select) != null) {
            StudentBean studentBean = alist.get(select);
            if (studentBean.getStuId() != null) {
                Intent intent = new Intent(ChooseActivity.this, MainActivity.class);
                SharedPreferencesUtil.putData("student", new Gson().toJson(studentBean));
                startActivity(intent);
                finish();
            }
        }
    }
}