본문 바로가기

Android/이슈

(2)
ViewPager2 중첩 스크롤 문제 해결 안녕하세요? 닉네임간편입니다. 이번 시간에는 ViewPager2의 중첩 스크롤 문제에 대해서 다루겠습니다. 1. 개요 ViewPager2 안에 스크롤뷰가 있거나, 혹은 ViewPager2가 다른 스크롤뷰 안에 포함되어있고 이들의 방향(orientation)이 같은 경우 스크롤이 제대로 작동하지 않는 문제가 있습니다. 기본적으로 ViewPager2는 중첩된 스크롤뷰를 지원하지 않기 때문입니다. 또한 ViewPager2는 final 클래스이기 때문에 다른 커스텀 클래스를 만들어 상속받을 수도 없습니다. 따라서 중첩된 스크롤뷰 문제가 발생할 경우 자체적으로는 해결이 곤란합니다. 2. 해결 방법 - 1 구글 개발자 문서에 나와있는 샘플을 통해 해결할 수 있습니다. https://github.com/android..
리스트뷰를 스크롤했을 때 상태가 저장이 안 되는 현상에 대해서 안녕하세요? 닉네임간편입니다. 이번 시간에는 리스트뷰를 스크롤했을 때 스위치 상태나 체크박스의 상태가 저장이 안 되는 현상에 대해서 다루어보겠습니다. 1. 리스트뷰란 리스트뷰(ListView)는 뷰들의 집합을 세로로 스크롤이 가능하게 표시하는 위젯입니다. 각 뷰들은 이전 요소의 바로 아래에 위치합니다. 많은 요소들을 순차적으로 화면에 표시하기 위해 사용합니다. 2. 문제 그런데 리스트뷰를 사용하면서 문제가 하나 있습니다. 아래 동영상처럼 스위치를 선택을 하여도 스크롤을 한 다음 다시 돌아오면 상태가 변하는 것입니다. 3. 발생 원인 리스트뷰는 스크롤 시 퍼포먼스의 기능을 위해서 뷰를 재사용합니다. 만일 100개의 뷰가 있고 화면에는 5개의 뷰만 표시할 수 있다고 가정하겠습니다. 이때 100개의 뷰 모두를..

728x90
반응형