如何为Recyclerview的每个项目单独请求?

时间:2017-10-06 14:51:24

标签: android android-recyclerview rx-java2

我有一个RecyclerView及其代表的数据列表。我从Server / DB中获取包含唯一ID的数据,基于此项ID我想向Server / DB发出请求并希望在RecyclerView上显示它。

我正在单独提出请求,我想要在屏幕上显示尽可能多的项目。

我已经定义了10个我从服务器收到的项目并显示它们但是对于每个项目我需要做更多细节的额外请求并在同一屏幕上显示

在onBindViewHolder中为每个项目显示每个项目的字幕,我提出了额外的请求

  viewModel.loadSubtitles(item.getId())
      .subscribeOn(Schedulers.io())
      .observeOn(AndroidSchedulers.mainThread())
      .subscribe({item->
          holder.binding.textView.setText(item.getSubTitle());
        }
      });

但是当我每次向DB / Services发出请求时都会滚动它 我希望每个项目只有一次。

2 个答案:

答案 0 :(得分:0)

您可以对RecyclerView使用Pull to Refresh / SwipeRefreshLayout。这是代码示例链接。

http://android-er.blogspot.com/2016/05/swiperefreshlayout-work-with.html

答案 1 :(得分:0)

您的意思是您希望在该项目上显示每个项目的详细信息吗?

如果我是真的,请在整个视图中输入一个id,并在onBindViewHolder上设置onclick侦听器到该视图。您应该在另一个活动中显示详细信息,以便您可以使用Intent更改活动,并将Key值显示为显示onclicked项目信息。