как использовать интервал Rx Java в Recyclerview в android - PullRequest
0 голосов
/ 09 марта 2020

У меня есть список из одного объекта чата (ArrayList), который я хочу показать с задержкой между элементами в режиме просмотра. Как выполнить эту операцию? Есть ли такой код?

1 Ответ

0 голосов
/ 09 марта 2020

Я предлагаю вам использовать LayoutAnimator на RecyclerView

fun RecyclerView.animateDropDown() {
    layoutAnimation = AnimationUtils.loadLayoutAnimation(context, R.anim.layout_animation_fall_down)
    scheduleLayoutAnimation()
}

Или, если вы хотите использовать Rx do:

Observable.interval(0, 2, TimeUnit.SECONDS)
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe {
                    adapter.addItem(item)
                }

JAVA

        int index = 0;
        Observable.interval(0, 2, TimeUnit.SECONDS)
                .observeOn(AndroidSchedulers.mainThread())
                .subscribeWith(new DisposableObserver<Long>() {
                    @Override
                    public void onNext(Long value) {
                      adapter.addItem(index);
                      index++;
                    }

                    @Override
                    public void onError(Throwable e) {
                    }

                    @Override
                    public void onComplete() {
                    }
                });

Также не забывайте уведомлять адаптер каждый раз, когда элемент вставляется с помощью adapter.notifyItemInserted(position)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...