Notas de uso da função BaseQuickAdapter adaptador de pacote recyclerView

Introdução do pacote: 

implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.47'

adaptador:

public class TeamPoastAdapter extends  BaseQuickAdapter<TeamPostEntity,BaseViewHolder> {
    private int position = -1;

    private Context mContext;

    public TeamPoastAdapter(Context context, List<TeamPostEntity> data) {
        super(R.layout.itme_equip, data);
        mContext = context;
    }

    public void setSelection(int pos) {
        this.position = pos;
        notifyDataSetChanged();
    }

    @Override
    protected void convert(@NonNull BaseViewHolder helper, TeamPostEntity item) {
        //set TextView
        helper.setTextColor(R.id.tv_txt, helper.getLayoutPosition() == position ? Color.parseColor("#108EE9") : Color.parseColor("#363636"));
        helper.setText(R.id.tv_txt, item.getDicPorperty())
                .setText(R.id.score, + item.getAverage());
        
        helper.addOnClickListener(R.id.tv_txt);
    }
}

 

Ver a atividade de preenchimento

LinearLayoutManager layoutManager = new LinearLayoutManager(this);
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
rvTeampost.setLayoutManager(layoutManager);

adapter=new TeamPoastAdapter(context,list);
recycle.setAdapter(adapter);

itme clique em pacote de evento

adapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
    @Override
    public void onItemClick(BaseQuickAdapter adapters, View view, int position) {
        adapter.setSelection(position);//更新adapter 显示点击效果
        teamPostEntity=list.get(position);
    }
});

Clique no pacote de eventos da subvisão itme

adapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
    @Override
    public void onItemChildClick(BaseQuickAdapter adapters, View view, int position) {
        adapter.setSelection(position);
        teamPostEntity=list.get(position);
    }
});

Esta etapa precisa registrar a visão a ser clicada no adaptador convert

helper.addOnClickListener(R.id.tv_txt);

O incidente de Chang'an é igual ao anterior.

https://www.jianshu.com/p/40457c16e44a

Acho que você gosta

Origin blog.csdn.net/qq_36355271/article/details/100983914
Recomendado
Clasificación