2015-09-30 3 views
1

Я пытаюсь проверить, видны ли некоторые конкретные элементы в RecyclerView; Но я не мог этого реализовать. Пожалуйста, помогите мне определить, полностью ли мои предметы видны в RecyclerView.Проверьте, полностью ли видны элементы в RecyclerView

mrecylerView.addOnScrollListener(new RecyclerView.OnScrollListener() { 
    @Override 
    public void onScrolled(RecyclerView recyclerView, int dx, int dy) { 
     super.onScrolled(recyclerView, dx, dy); 
     LinearLayout ll = (LinearLayout) recyclerView.findChildViewUnder(dx, dy); 
     if (ll != null) { 
      TextureVideoView tvv = (TextureVideoView) ll.findViewById(R.id.cropTextureView); 
     } 
    } 
}); 

Я хочу, чтобы проверить, если tvv вид полностью виден в mrecyclerView зрения.

+0

Любой, пожалуйста, помогите мне. – Alireza

ответ

5

Вы могли бы сделать некоторые логики с помощью LayoutManager API, чтобы получить последние полностью видимую позицию элемента в RecyclerView методе onScrolled:

((LinearLayoutManager) vYourRecycler.getLayoutManager()).findLastCompletelyVisibleItemPosition(); 

Из документации: Возвращает позицию адаптера последнего полностью видимого зрения. Эта позиция не включает изменения адаптера, которые были отправлены после последнего прохода макета.

Попробуйте его использовать и сообщите об обновлении адаптера RecyclerView.

Примечание: я не знаю, почему вы используете findViewById в onScrolled метода, эта работа должна быть реализована в RecyclerView ViewHolder для выполнения

+2

findLastCompletelyVisibleItemPosition(); дает мне последний прикрепленный элемент, видно ли это или нет. – Tasneem