MeFragment.java 7 KB
package com.hjx.parent.fragment;

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

import androidx.annotation.NonNull;
import androidx.constraintlayout.widget.Group;
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.AccountActivity;
import com.hjx.parent.AddStudentActivity;
import com.hjx.parent.EditStudentActivity;
import com.hjx.parent.R;
import com.hjx.parent.UserActivity;
import com.hjx.parent.YinsiActivity;
import com.hjx.parent.bean.StudentBean;
import com.prws.common.base.BaseFragment;
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 io.reactivex.Observer;
import io.reactivex.disposables.Disposable;
import okhttp3.ResponseBody;

public class MeFragment extends BaseFragment {
    @Override
    protected int getLayoutRes() {
        return R.layout.fragment_me;
    }

    Group group_1;
    TextView tv_name;
    TextView tv_phone;
    ImageView iv_toux;
    RecyclerView recycle;

    @Override
    protected void initDatas() {
        super.initDatas();
        recycle = mRootView.findViewById(R.id.recycle);
        group_1 = mRootView.findViewById(R.id.group_1);
        String role = (String) SharedPreferencesUtil.getData("role", "");
        String userId = (String) SharedPreferencesUtil.getData("userId", "");
        String token = (String) SharedPreferencesUtil.getData("token", "");
        String phone = (String) SharedPreferencesUtil.getData("phone", "");
        group_1.setVisibility(View.VISIBLE);
        iv_toux = mRootView.findViewById(R.id.iv_toux);
        tv_name = mRootView.findViewById(R.id.tv_name);
        tv_phone = mRootView.findViewById(R.id.tv_phone);
        tv_phone.setVisibility(View.GONE);
//        tv_phone.setText(phone);
        tv_name.setText(phone);
    }

    @Override
    public void onResume() {
        super.onResume();
        String photo = (String) SharedPreferencesUtil.getData("photo", "");
        if (!TextUtils.isEmpty(photo)) {
            RoundedCorners roundedCorners = new RoundedCorners(ScreenUtils.dpToPx(getContext(), 45));
            RequestOptions options = RequestOptions.bitmapTransform(roundedCorners);
            Glide.with(getContext()).load(photo).error(R.mipmap.ic_parent_avatar).apply(options).into(iv_toux);
        }
        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);
                        }
                        if (alist.size() > 0) {
                            loadList();
                        }

                    } else {

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

            @Override
            public void onError(Throwable e) {
                e.toString();
            }

            @Override
            public void onComplete() {

            }
        });
        mRootView.findViewById(R.id.view_4).setOnClickListener(view -> startActivity(new Intent(getActivity(), YinsiActivity.class)));
        mRootView.findViewById(R.id.view_5).setOnClickListener(view -> startActivity(new Intent(getActivity(), UserActivity.class)));
        mRootView.findViewById(R.id.view_3).setOnClickListener(view -> startActivityForResult(new Intent(getActivity(), AccountActivity.class), 1003));
    }

//    @Override
//    public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
//        super.onActivityResult(requestCode, resultCode, data);
//        Intent intent = new Intent(getActivity(), LoginActivity.class);
//        startActivity(intent);
//        getActivity().finish();
//    }

    public void loadList() {
        BaseQuickAdapter adapter = new BaseQuickAdapter(R.layout.item_child, alist) {
            @Override
            public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {

            }

            @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())) {
                    // do nothing
                } else {
                    if (TextUtils.isEmpty(studentBean.getPhoto())) {
                        item.setImageResource(R.id.iv_avatar, "男".equals(studentBean.getGender()) ? R.mipmap.ic_avatar_male : R.mipmap.ic_avatar_female);
                    } else {
                        RoundedCorners roundedCorners = new RoundedCorners(ScreenUtils.dpToPx(getContext(), 45));
                        RequestOptions options = RequestOptions.bitmapTransform(roundedCorners);
                        Glide.with(getActivity()).load(studentBean.getPhoto()).apply(options).into((ImageView) item.getView(R.id.iv_avatar));
                    }
                    item.setVisible(R.id.iv_vip, studentBean.getIsIntention() == 1);
                    item.getConvertView().setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                            startActivity(new Intent(getActivity(), EditStudentActivity.class).putExtra("student", new Gson().toJson(studentBean)));
                        }
                    });
                }
            }
        };
        recycle.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.HORIZONTAL, false));
        recycle.setAdapter(adapter);
    }

}