2012-09-11 2 views
6

필자는 ViewPager 및 FragmentPagerAdpater 및 3 개의 Fragments를 사용하여 탭 스 와이프보기를 구현합니다. ViewPager는 처음 렌더링 한 후 3 개의 뷰를 "기억"합니까?ViewPager의 홀더 패턴을 확인 하시겠습니까?

제 문제는 일정 시간이 지나면 3 가지보기의 레이아웃이 "잊어 버렸습니다"라는 것입니다. 즉, 다시 업데이트해야하고 사용자는 업데이트하기 전에 추악한 부분을 보게됩니다.

viewpager에 대한보기 홀더 패턴도 있습니까? 이미 렌더링 된 뷰를 유지하거나 파괴되는 것을 방지하기 위해 어떤 기법을 사용할 수 있습니까? 단지

이 당신의 조각의 인스턴스를 저장하고 그들이 늘 다시로드해야하고 다시

@Override 
    public void destroyItem(ViewGroup container, int position, Object object) { 
     // TODO Auto-generated method stub 
     // super.destroyItem(container, position, object); 
    } 

뭔가 슈퍼 문을 destroyItem() 메소드 & 따옴표를 오버라이드 (override) 당신의 탭 어댑터에서

답변

14

ViewPagersetOffscreenPageLimit()을 사용하면 스크롤 할 때까지 메모리에 보관되어 있고 미리 작성된 페이지 수를 제어 할 수 있습니다. 기본적으로이 값은 1이며 현재 페이지를 메모리와 페이지 바로 앞뒤에 유지합니다. 페이지 크기 (전체 화면 또는 부분 화면)에 따라 예를 들어 2는 페이지가 화면 상에 구성되는 것을 막습니다.

+0

실제로 트릭을했습니다. 고마워! 덕분에 – xiangxin

+0

. 도움이됩니다. – QuestionAndroid

2

이렇게.