Существует RecyclerViewAdapter, который показывает элементы (эти элементы уже сопоставлены в базе данных).Как загрузить данные в RecyclerView из БД с помощью RxJava? (MVP + RxJava + SQLite)
RecyclerViewAdapter содержит ссылку на Presenter для загрузки элементов. Также он содержит ArrayList с идентификатором элементов.
Как загрузить элемент, используя Rx? Как выглядит правильный код для метода onBindViewHolder?
Теперь он выглядит:
List<Long> ItemIds;
Presenter presenter;
public void onBindViewHolder(ViewHolder holder, int position) {
Long itemId = ItemIds.get(position);
Item item = presenter.getItemById(itemId); //loading from DB
holder.setContent(item);
}
P.S.
- В каждом элементе хранится информация о хорошем тишине, поэтому я думаю, что это плохая идея сохранить все объекты предметов в RecyclerView (может быть, я ошибаюсь ??? и это okey).
- Я знаю, как загружать элементы в фоновый поток, используя Rx, но я смущен этим решением. Я могу создать подписчика в RecyclerView и передать его на уровень презентатора, где он будет подписан на наблюдаемый, который выдает элемент из БД. Это приемлемое решение?
Спасибо большое за отличный пример;) –