Android -- ViewPager 의 Pager Adapter 소개
(이것 은) 기본 클래스 입 니 다. 어댑터 를 제공 합 니 다. 이 어댑터 는 페이지 내용 을 ViewPager 에 채 울 수 있 습 니 다.Fragment PagerAdapter 와 같은 특수 한 실현 클래스 를 사용 하 는 것 을 더 좋아 할 수도 있 습 니 다. Fragment State PagerAdapter.
PageAdapter 를 실현 할 때 다음 과 같은 몇 가지 방법 을 다시 불 러 와 야 합 니 다. instantiateItem (ViewGroup, int) -- 실례 화 항목 · destroyItem (ViewGroup, int, Object) -- 항목 폐 기 · getCount () -- 항목 수 가 져 오기 · isViewFromObject(View, Object)
PagerAdapter 는 AdapterViews 가 사용 하 는 어댑터 보다 더 자주 사용 합 니 다.업데이트 과정 에서 ViewPager 는 리 셋 (callbacks) 을 사용 하여 뷰 가 직접 회수 하 는 메커니즘 을 제공 하 는 것 이 아니 라 어디 까지 가 는 지 를 표시 합 니 다.필요 하 다 면 PagerAdapter 는 View 회수 체 제 를 실현 하거나 더 복잡 한 방법 으로 page view 를 관리 할 수 있 습 니 다. 예 를 들 어 Fragment 의 처리 방식: 모든 페이지 는 자신의 Fragment 에 의 해 보 여 집 니 다.
ViewPager 는 Views 와 직접 연결 하 는 것 이 아니 라 key 대상 과 연 결 됩 니 다.이 키 는 어댑터 의 위치 에 독립 된 유일한 표지 가 지정 한 페이지 를 추적 하고 표시 하 는 데 사 용 됩 니 다.PagerAdapter 의 startUpdate (ViewGroup) 방법 에 대한 호출 은 ViewPager 의 페이지 내용 이 곧 바 뀔 것 임 을 상징 합 니 다.이 어 인 스 턴 트 아 이 템 (ViewGroup, int) 을 여러 번 호출 합 니 다. 또는 destroy Item (ViewGroup, int, Object), 마지막 으로 호출 됩 니 다. finish Update (View Group) 는 이번 업데이트 가 끝 날 것 임 을 의미 합 니 다.finish Update 가 돌아 올 때 인 스 턴 트 아 이 템 이 돌아 오 는 key 대상 과 연 결 된 view 는 부모 컨트롤 View Group 에 추가 되 어야 합 니 다. 전달
destroyItem
이 키 와 연 결 된 view 는 제거 되 어야 합 니 다.isViewFromObject (View, Object) 방법 은 특정한 view 가 key 대상 과 관련 이 있 는 지 판단 하 는 데 사 용 됩 니 다.간단 한 PagerAdapter 는 page Views 자 체 를 key 대상 으로 할 수 있 습 니 다.ViewGroup 에 만 들 고 추가 하면 instantiate Item (ViewGroup, int) 에서 되 돌 릴 수 있 습 니 다.대응 하 는 destroy Item (ViewGroup, int, Object) 의 실현 은 부모 컨트롤 ViewGroup 에서 삭 제 됩 니 다.isViewFromObject(View, Object) 이렇게 실현 할 수 있 습 니 다: return view = object;.
PagerAdapter 는 데이터 세트 (data set) 의 변경 업 데 이 트 를 지원 합 니 다.그러나 데이터 세트 변경 은 주 스 레 드 에서 발생 해 야 하 며, 마지막 으로 notify DataSetChanged () 방법 을 호출 해 야 합 니 다. 이 점 은 BaseAdapter 에서 파생 된 AdapterView 어댑터 와 비슷 합 니 다.데이터 세트 의 변 화 는 pages 의 추가, 삭제 또는 위치 변 화 를 포함 할 수 있 습 니 다.ViewPager 는 현재 페이지 를 active 상태 로 유지 합 니 다. getItemPosition (Object) 방법 을 실현 한 어댑터 에서 제공 합 니 다.
public Object instantiate Item (ViewGroup container, int position) 이 지정 한 위치 에 페이지 를 만 듭 니 다.어댑터 는 이 용기 에 view 를 추가 하 는 것 을 책임 지지 만 finish Update (ViewGroup) 가 돌아 올 때 만 완 료 됩 니 다.public void destroy Item (ViewGroup container, int position, Object object) 에서 지정 한 위치의 페이지 를 삭제 합 니 다.어댑터 는 view 용기 에서 view 를 삭제 하 는 것 을 책임 지지 만 finish Update (ViewGroup) 가 돌아 올 때 만 완 료 됩 니 다.public abstract int getCount () 는 사용 가능 한 view 의 수 를 되 돌려 줍 니 다.public abstract boolean isViewFromObject (View view, Object object) 는 페이지 가 지정 한 key 대상 과 연결 되 어 있 는 지 판단 하고 key 대상 은 instantiate Item (ViewGroup, int) 에서 되 돌려 줍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.