findViewHolderForAdapterPosition () всегда возвращает ноль для пользовательского ViewHolder - PullRequest
0 голосов
/ 09 октября 2018

Так что у меня проблемы с получением ViewHolder по положению адаптера.Я использую LayoutManager, чтобы получить первую полностью видимую позицию элемента, но когда я вызываю findViewHolderForAdapterPosition (), он возвращает null.Я также делаю проверку, если позиция не -1.Что я делаю неправильно?

recyclerView.addOnScrollListener(new OnScrollListener() {
        @Override
        public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
            int firstItemPosition = layoutManager.findFirstCompletelyVisibleItemPosition();

            recyclerView.postDelayed(() -> {
                if (firstItemPosition != -1) {
                    RecyclerView.ViewHolder currentHolder = 
                            recyclerView.findViewHolderForAdapterPosition(firstItemPosition);

                    if (currentHolder.getClass().isInstance(PremiumPostHolder.class)) {
                        ((PremiumPostHolder) currentHolder).startAutoplay();
                    }
                }
            }, 50);
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...