Android RecyclerView setVisibility 无法正常工作

Android RecyclerView setVisibility not working properly

我有包含用户书签的 RecyclerView。该计划是书签项目将标有特定图标。这是我在 onBindViewHolder():

中的代码
// ...
if (bookmarks != null) {
    for (BookmarkModel bookmarkData : bookmarks) {
        if (bookmarkData.getLetterId() == letter && bookmarkData.getEntryId() == entry) {
            holder.imgBookmark.setVisibility(View.VISIBLE);
        } else {
            holder.imgBookmark.setVisibility(View.INVISIBLE);
        }
    }
}

但是,RecyclerView 并未显示所有书签图标,仅显示其中的一部分。目前我有 3 个书签,但它只显示其中 1 个。我已经对其进行调试并验证 holder.imgBookmark.setVisibility(View.VISIBLE) 已被调用 3 次。如何正确更新图片?

我忘了在字母和条目匹配时打断。因此,只有最后一场比赛才会显示图标。

if (bookmarks != null) {
    for (BookmarkModel bookmarkData : bookmarks) {
        if (bookmarkData.getLetterId() == letter && bookmarkData.getEntryId() == entry) {
            holder.imgBookmark.setVisibility(View.VISIBLE);
            break;
        } else {
            holder.imgBookmark.setVisibility(View.INVISIBLE);
        }
    }
}