2017-04-02 1 views
0

수직 선형 레이아웃 (RecyclerView)에서 현재 보이는 항목/항목을 찾고 싶습니다. 그래서 Exoplayer를 모든 항목이 아닌 최상위 요소에 연결할 수 있습니다. 그리고 심지어 시야에 그 항목을 재생하십시오. 나는 이것을 구현하는 데 어떤 아이디어도 찾을 수 없다.RecyclerView의 현재 표시 항목

조각이나 어댑터에서 처리해야합니까?

감사합니다. Android 개발이 처음입니다.

+0

몇 개의 요소가 있습니까? 'LinearLayout' 대신'RecyclerView'를 사용하는 것이 더 좋을까요? BTW 왜이 경우에는 어댑터가? – pxsx

+0

저는 RecyclerView에 수직 선형 레이아웃이 있습니다. – user1590595

답변

0

LinearLayoutManager에서 도움이되는 몇 가지 방법을 사용할 수 있습니다.

layoutManager.findFirstVisibleItemPosition(); 
layoutManager.findFirstCompletelyVisibleItemPosition(); 
layoutManager.findLastVisibleItemPosition(); 
layoutManager.findLastCompletelyVisibleItemPosition(); 

이러한 위치는 정수로 반환됩니다. 당신은 아래와 같이 사용할 수 있습니다

LinearLayoutManager layoutManager = ((LinearLayoutManager) recyclerView.getLayoutManager()); 
int firstVisibleItemPosition = layoutManager.findFirstVisibleItemPosition(); 

하지만 어떤 경우에는 일부 장치에서 findFirstVisibleItemPosition()이 아닌 나를 위해 안정적 일, 점에 유의해야한다. 예를 들어 소니, LG 및 삼성 기기에서 작동했지만 동일한 코드는 Nexus 5에서 작동하지 않았습니다. 왜 작동하지 않았는지 확실하지 않지만이 버그로 인해 접근 방식을 변경했습니다.

+0

어떤 접근 방식을 택 했습니까? – user1590595

+0

@ user1590595 CollapseableToolbarLayout을 사용하여 소비 동작을 스크롤하는 것과는 다른 복잡한 기능이었습니다. 나는 그럭저럭 주문의 뛰어 넘기 행동으로 그것을 해결할 수 있었다. 나는 그것이 귀하의 사건과 관련이 있다고 생각하지 않습니다. 설명하기에는 너무 많이 필요합니다. –

관련 문제