[英]Accessing a view in each item of Recycler View
在适配器上更改此方法:
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
LaunSubsItem launSubsItem = laundrySubsList.get(position);
if(your_condition_here){
holder. switchSubs.setVisibility(View.GONE);
}
holder.tvWasherName.setText(launSubsItem.getDescription());
holder.tvWasherStatTime.setText(launSubsItem.getTime());
}
您必须在RecyclerAdapter类的onBindViewHolder()方法中保持可见性
if (showSwitch) {
viewHolder.yourSwitch.setVisibility(View.VISIBLE);
} else {
viewHolder.yourSwitch.setVisibility(View.GONE);
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
LaunSubsItem launSubsItem = laundrySubsList.get(position);
holder.tvWasherName.setText(launSubsItem.getDescription());
holder.tvWasherStatTime.setText(launSubsItem.getTime());
// Add this to your Adapter
holder.switchSubs.setVisibility(tvWasherStatTime.getText().toString().contains("Available") ? View.GONE : View.VISIBLE);
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
LaunSubsItem launSubsItem = laundrySubsList.get(position);
holder.tvWasherName.setText(launSubsItem.getDescription());
holder.tvWasherStatTime.setText(launSubsItem.getTime());
if(launSubsItem.getTime().equals("Available")){
viewHolder.switchSubs.setVisibility(View.GONE);
} else {
viewHolder.switchSubs.setVisibility(View.VISIBLE);
}
}
如下更新您的onBindViewHolder
:
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
LaunSubsItem launSubsItem = laundrySubsList.get(position);
holder.tvWasherName.setText(launSubsItem.getDescription());
holder.tvWasherStatTime.setText(launSubsItem.getTime());
if (launSubsItem.getTime().contains("Available"))
holder.switchSubs.setVisibility(View.GONE);
else
holder.switchSubs.setVisibility(View.VISIBLE);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.