Java RecyclerView重复项

Java RecyclerView重复项,java,android,android-recyclerview,Java,Android,Android Recyclerview,我看了同样的话题,没有发现任何对我有帮助的。 这就是我的问题。我有一个回收站的活动。我正在使用Reformation2库获取新闻列表,如下所示: @GET(VERSION_V1 + "/news") Observable<BaseResponse<NewsListResponse>> getCompanyNews(@Query("companyId") String companyId,

我看了同样的话题,没有发现任何对我有帮助的。 这就是我的问题。我有一个回收站的活动。我正在使用Reformation2库获取新闻列表,如下所示:

@GET(VERSION_V1 + "/news")
    Observable<BaseResponse<NewsListResponse>> getCompanyNews(@Query("companyId") String companyId,
                                                              @Query("query") String query,
                                                              @Query("offset") Integer offset,
                                                              @Query("limit") Integer limit,
                                                              @Query("creator") NewsCreatorType creator,
                                                              @Query("date")NewsFilterType dateFilter);
ofc我有一个RecyclerView适配器,这是我的
onBindViewHolder

@Override
public void onBindViewHolder(RecyclerView.ViewHolder baseHolder, int position) {
    if (baseHolder instanceof ViewHolder) {
        ViewHolder holder = (ViewHolder) baseHolder;

        NewsViewModel newsViewModel = mResults.get(position);

        holder.mTVTitle.setText(newsViewModel.getTitle());
        holder.mTVContent.setText(newsViewModel.getContent());

        if (NewsCreatorType.SYSTEM.equals(newsViewModel.getCreator())) {
            holder.mTVCreator.setText(newsViewModel.getCreator().getTitle());
        } else {
            holder.mTVCreator.setText(
                    holder.mTVCreator.getContext().getString(
                            newsViewModel.getCreator().getTitle(),
                            mCompanyTitle
                    )
            );
        }
    }
}
我有两家公司在做新闻。1号公司的新闻不重复,2号公司的新闻总是重复。。我不明白我的错误在哪里。我在GET上检查了(使用调试器)答案,它没有重复的消息,所以我想我的适配器出现了问题。。 多谢各位

编辑: 我只从Creator.SYSTEM获得重复新闻

编辑2.0:
好的,我删除了演示文稿中的
.flatMap
,现在它工作正常,但我不明白它为什么会出现,有人能解释一下吗?

我猜,这段代码
news.addAll(response.getResult().getItems())
可以再次添加相同的新闻(取决于您的
mCompanyId
,等等。正如我所说的,我用调试器检查了演示者中的内容。我得到了不同新闻的列表。看起来您是对的,@TmTron!我刚刚删除了“.flatMap”,现在它工作正常。
@Override
public void onBindViewHolder(RecyclerView.ViewHolder baseHolder, int position) {
    if (baseHolder instanceof ViewHolder) {
        ViewHolder holder = (ViewHolder) baseHolder;

        NewsViewModel newsViewModel = mResults.get(position);

        holder.mTVTitle.setText(newsViewModel.getTitle());
        holder.mTVContent.setText(newsViewModel.getContent());

        if (NewsCreatorType.SYSTEM.equals(newsViewModel.getCreator())) {
            holder.mTVCreator.setText(newsViewModel.getCreator().getTitle());
        } else {
            holder.mTVCreator.setText(
                    holder.mTVCreator.getContext().getString(
                            newsViewModel.getCreator().getTitle(),
                            mCompanyTitle
                    )
            );
        }
    }
}