有一个列表(recyclerview),它应该显示某些类型的X类图像,一切都运行正常,事情就是在我开始另一个活动并完成回到它之后,所有图像都被移除了,除了没有类型1之后的那些,所以似乎有一个原因导致类型1不能使其图像仅消失,而是所有先前的
private class XHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
private ImageView mImageView;
private X mX;
private XHolder(View v) {
super(v);
v.setOnClickListener(this);
mImageView = (ImageView) v.findViewById(R.id.imageview);
}
public void bindX(X x){
mX = x;
if(mX.getType() == 1) {
mImageView.setVisibility(View.GONE);
}
}
@Override
public void onClick(View v) {
xClickEvent(mX);
}
}
答案 0 :(得分:1)
添加其他条件,例如:
if (mX.getType() == 1) {
mImageView.setVisibility(View.GONE);
} else {
mImageView.setVisibility(View.VISIBLE);
}
每次使用RecyclerView都不会让你的视图膨胀,而是使用onBindViewHolder()屏幕外的视图来显示下一个项目。所以你需要每次都处理if和else条件。