Android,未正确显示的项目列表

时间:2017-06-01 11:31:02

标签: java android android-recyclerview

有一个列表(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);
    }
}

1 个答案:

答案 0 :(得分:1)

添加其他条件,例如:

if (mX.getType() == 1) {
            mImageView.setVisibility(View.GONE);
  } else {
    mImageView.setVisibility(View.VISIBLE);
}

每次使用RecyclerView都不会让你的视图膨胀,而是使用onBindViewHolder()屏幕外的视图来显示下一个项目。所以你需要每次都处理if和else条件。