Android 如何自定义RecyclerView onclick更改图像是否像复选框一样工作?

Android 如何自定义RecyclerView onclick更改图像是否像复选框一样工作?,android,android-recyclerview,Android,Android Recyclerview,我是一个新的Android开发者,有人能给我一个定制的recyclerview onclick和change图像的例子吗 请帮帮我 提前感谢。编写此代码以创建自定义视图 public class CustomView extends RecyclerView.Adapter<CustomView.RecyclerViewHolder> { public static class RecyclerViewHolder extends RecyclerView.ViewHol

我是一个新的Android开发者,有人能给我一个定制的recyclerview onclick和change图像的例子吗

请帮帮我


提前感谢。

编写此代码以创建自定义视图

public class CustomView extends RecyclerView.Adapter<CustomView.RecyclerViewHolder> {


    public static class RecyclerViewHolder extends RecyclerView.ViewHolder {

        final TextView mName, mPhone;

        View mCircle;

        RecyclerViewHolder(View itemView) {
            super(itemView);

            mName = (TextView) itemView.findViewById(R.id.CONTACT_name);
            mPhone = (TextView) itemView.findViewById(R.id.CONTACT_phone);
            mCircle = itemView.findViewById(R.id.CONTACT_circle);


        }
    }

    public RecyclerViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
        View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.list_layout, viewGroup, false);
        return new RecyclerViewHolder(v);
    }

    public void onBindViewHolder(RecyclerViewHolder viewHolder, int i) {
        // get the single element from the main array
        final Contact contact = Contact.CONTACTS[i];
        // Set the values
        viewHolder.mName.setText(contact.get(Contact.Field.NAME));
        viewHolder.mPhone.setText(contact.get(Contact.Field.PHONE));


        // Set the color of the shape
        GradientDrawable bgShape = (GradientDrawable) viewHolder.mCircle.getBackground();
        bgShape.setColor(Color.parseColor(contact.get(Contact.Field.COLOR)));
    }

    @Override
    public int getItemCount() {
        return Contact.CONTACTS.length;
    }
}
公共类CustomView扩展了RecyclerView.Adapter{ 公共静态类RecyclerView.ViewHolder扩展了RecyclerView.ViewHolder{ 最终文本视图mName,mPhone; 查看mCircle; RecycleServiceWholder(查看项目视图){ 超级(项目视图); mName=(TextView)itemView.findViewById(R.id.CONTACT\u name); mPhone=(TextView)itemView.findViewById(R.id.CONTACT\u电话); mCircle=itemView.findviewbyd(R.id.CONTACT\u circle); } } public RecycleServiceWholder onCreateViewHolder(视图组视图组,int i){ 视图v=LayoutInflater.from(viewGroup.getContext()).flate(R.layout.list\u布局,viewGroup,false); 退回新的回收商(v); } BindViewHolder上的公共void(RecyclerViewHolder,int i){ //从主数组中获取单个元素 最终接触=接触。接触[i]; //设置值 viewHolder.mName.setText(contact.get(contact.Field.NAME)); viewHolder.mPhone.setText(contact.get(contact.Field.PHONE)); //设置形状的颜色 GradientDrawable bgShape=(GradientDrawable)viewHolder.mCircle.getBackground(); setColor(Color.parseColor(contact.get(contact.Field.Color)); } @凌驾 public int getItemCount(){ 返回触点.CONTACTS.length; } }
编写此代码以创建自定义视图

public class CustomView extends RecyclerView.Adapter<CustomView.RecyclerViewHolder> {


    public static class RecyclerViewHolder extends RecyclerView.ViewHolder {

        final TextView mName, mPhone;

        View mCircle;

        RecyclerViewHolder(View itemView) {
            super(itemView);

            mName = (TextView) itemView.findViewById(R.id.CONTACT_name);
            mPhone = (TextView) itemView.findViewById(R.id.CONTACT_phone);
            mCircle = itemView.findViewById(R.id.CONTACT_circle);


        }
    }

    public RecyclerViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
        View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.list_layout, viewGroup, false);
        return new RecyclerViewHolder(v);
    }

    public void onBindViewHolder(RecyclerViewHolder viewHolder, int i) {
        // get the single element from the main array
        final Contact contact = Contact.CONTACTS[i];
        // Set the values
        viewHolder.mName.setText(contact.get(Contact.Field.NAME));
        viewHolder.mPhone.setText(contact.get(Contact.Field.PHONE));


        // Set the color of the shape
        GradientDrawable bgShape = (GradientDrawable) viewHolder.mCircle.getBackground();
        bgShape.setColor(Color.parseColor(contact.get(Contact.Field.COLOR)));
    }

    @Override
    public int getItemCount() {
        return Contact.CONTACTS.length;
    }
}
公共类CustomView扩展了RecyclerView.Adapter{ 公共静态类RecyclerView.ViewHolder扩展了RecyclerView.ViewHolder{ 最终文本视图mName,mPhone; 查看mCircle; RecycleServiceWholder(查看项目视图){ 超级(项目视图); mName=(TextView)itemView.findViewById(R.id.CONTACT\u name); mPhone=(TextView)itemView.findViewById(R.id.CONTACT\u电话); mCircle=itemView.findviewbyd(R.id.CONTACT\u circle); } } public RecycleServiceWholder onCreateViewHolder(视图组视图组,int i){ 视图v=LayoutInflater.from(viewGroup.getContext()).flate(R.layout.list\u布局,viewGroup,false); 退回新的回收商(v); } BindViewHolder上的公共void(RecyclerViewHolder,int i){ //从主数组中获取单个元素 最终接触=接触。接触[i]; //设置值 viewHolder.mName.setText(contact.get(contact.Field.NAME)); viewHolder.mPhone.setText(contact.get(contact.Field.PHONE)); //设置形状的颜色 GradientDrawable bgShape=(GradientDrawable)viewHolder.mCircle.getBackground(); setColor(Color.parseColor(contact.get(contact.Field.Color)); } @凌驾 public int getItemCount(){ 返回触点.CONTACTS.length; } }
您必须创建pojo类、自定义列表视图、显示活动以显示数据和最终维护活动您必须创建pojo类、自定义列表视图、显示活动以显示数据和最终维护活动您必须创建pojo类、自定义列表视图、显示活动以显示数据和最终维护活动