PersonalSelectAdapter.java 1.89 KB
package com.studymachine.www.ui.adapter;

import android.content.Context;
import android.view.ViewGroup;

import androidx.annotation.NonNull;
import androidx.appcompat.widget.AppCompatTextView;

import com.studymachine.www.R;
import com.studymachine.www.app.AppAdapter;

/**
 * desc   : 个人中心 按钮选择
 */
public final class PersonalSelectAdapter extends AppAdapter<String> {

    private int mSelectIndex = 0;

    public PersonalSelectAdapter(Context context) {
        super(context);
    }

    @NonNull
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        return new ViewHolder();
    }

    public int getSelectIndex() {
        return mSelectIndex;
    }

    public void setSelectIndex(int selectIndex) {
        if (selectIndex == this.mSelectIndex) return;
        int oldSelectIndex = this.mSelectIndex;
        this.mSelectIndex = selectIndex;
        if (oldSelectIndex != -1) {
            notifyItemChanged(oldSelectIndex);
        }
        notifyItemChanged(selectIndex);
    }

    private final class ViewHolder extends AppAdapter<?>.ViewHolder {

        private AppCompatTextView mTvName;

        private ViewHolder() {
            super(R.layout.personal_select_item);
            initView();
        }

        @Override
        public void onBindView(int position) {
            if (getData() != null) {
                mTvName.setText(getData().get(position));
                if (mSelectIndex != position) {
                    mTvName.setBackground(null);
                    mTvName.setTextColor(getColor(R.color.white60));
                } else {
                    mTvName.setBackgroundResource(R.drawable.person_daohang);
                    mTvName.setTextColor(getColor(R.color.white));
                }
            }

        }

        private void initView() {
            mTvName = findViewById(R.id.tv_name);
        }
    }
}