Android 如何自定义RecyclerView onclick更改图像是否像复选框一样工作?
我是一个新的Android开发者,有人能给我一个定制的recyclerview onclick和change图像的例子吗 请帮帮我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
提前感谢。编写此代码以创建自定义视图
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类、自定义列表视图、显示活动以显示数据和最终维护活动