안녕하세요
onScrolled
를 처리하려고하는 사람들
내
recyclerView
의 이벤트
그것은
NestedScrollView
안에 있습니다.
.
지금까지 나는
setOnScrollChangeListener
를 발견했다
, 그러나이 방법은 API 23이며 API 21을 대상으로하고 있습니다 .API 21 에서이 문제를 다시 처리 할 아이디어가 있습니까?
- 답변 # 1
- 답변 # 2
몇 시간 후 아이디어를 얻었습니다
RecyclerView
에서 스크롤을 듣는 것을 멈췄습니다. 그리고NestedScrollView
를 듣고 시작 와이즈 비즈 이벤트.loadOnDemand
onScroll
를 만들었습니다. 이 스 니펫 사용recyclerView
nsv_posts_timeline.setOnScrollChangeListener( NestedScrollView.OnScrollChangeListener { _, scrollX, scrollY, _, oldScrollY -> if(scrollY > oldScrollY){ val totalItens = timelineAdapter.itemCount val currentView = rv_timeline.findChildViewUnder(scrollX.toFloat(), scrollY.toFloat()) val childPosition = rv_timeline.getChildAdapterPosition(currentView) if((totalItens/2) - (stepSize/2) <= childPosition && !isLoading){ isLoading = true //skip , take timelinePresenter.loadMore(totalItens, 5) } } })
콜백이 서버에서 반환 될 때 false로 변경되는 클래스 속성입니다. - 답변 # 3
API 23 아래의 ViewTreeObserver # addOnScrollChangedListener ()를 사용하여 달성 할 수 있습니다.
isLoading
mRecylerview.getViewTreeObserver().addOnScrollChangedListener( new ViewTreeObserver.OnScrollChangedListener() { @Override public void onScrollChanged() { int x = toolbar.getScrollX(); int y = toolbar.getScrollY(); } });
- Android에서 부모 ScrollView의 스크롤 영향을 무시하는 자식 뷰인 ViewContainer를 개발하는 방법
- java : 중첩된 리사이클러 보기에서 사용자 지정 크롬 탭을 열려고 하지만 활동 외부에서 startActivity() 호출 오류가 발생하지 않습니다.
- java : Recyclerview에서 조각으로 데이터를 보내는 방법은 무엇입니까?
- android : RecyclerView 스크롤 업 문제
- android : 해결되지 않은 참조: recyclerView
- android : Recyclerview의 Firestore에서 데이터 검색
- java : Recyclerview 위치를 사용하여 글꼴을 일반에서 굵게 변경
- android : TabLayout에 동기화된 헤더로 GridView를 만드는 방법은 무엇입니까?
- android : 변수를 기반으로 새 보기를 만들 수 있는 ViewHolder의 목록에서 개체를 가져올 수 있습니까?
- Android -어댑터의 데이터베이스에서 데이터 필터링
View.OnScrollChangeListener와 함께 setOnChangeScrollListener를 사용하고 있다고 생각합니다. NestedScrollView.OnScrollChangeListener를 다음과 같이 사용하십시오 :