从RecyclerView隐藏/删除ImageView

时间:2018-01-09 14:19:32

标签: android json listview android-recyclerview

我有一个RecyclerView,它从ViewHolder加载以下内容。

public class ViewHolder extends RecyclerView.ViewHolder {

    public ImageView imagePreviewOfEvent; 
    ...(other views)

    public ViewHolder(View itemView) {
        super(itemView);

        imagePreviewOfEvent = (ImageView) itemView.findViewById(R.id.listOfTimelinePostsPhotoContainer);
        ...(other views)
    }
}

我使用来自JSON请求的数据填充此RecyclerView。数据中包含一系列帖子。有些帖子会有图片,但有些帖子不会(几乎像Twitter / Facebook时间轴上有可能/可能没有照片的帖子)。

如果没有图像,则JSON返回“null”。在我的RecyclerView上,我想基于此从列表中的每一行删除ImageView。我试过通过检查我存储的布尔状态来删除视图:

if (timelineListInformation.getNeedsToRemoveImageView() == true) {
        holder.imagePreviewOfEvent.setVisibility(View.GONE);
    }

当我向下滚动列表并向上滚动时,将删除与其关联的图像的帖子。我一直在努力寻找各种各样的答案但却没有找到任何答案。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

请尝试这一个。

holder.imagePreviewOfEvent.setVisibility(View.GONE);
if (timelineListInformation.getNeedsToRemoveImageView() == false) {
    holder.imagePreviewOfEvent.setVisibility(View.VISIBLE);
}

答案 1 :(得分:0)

试试这个:

if (timelineListInformation.getNeedsToRemoveImageView() == true) {
    holder.imagePreviewOfEvent.setVisibility(View.GONE);
}else{
holder.imagePreviewOfEvent.setVisibility(View.VISIBLE);
}