2011-12-17 2 views
2

나는 뷰의 절대 위치를 알아 내려고 노력하고 있지만, 지금까지는 상대적 위치가 지나가는 것처럼 보이지만, 다시 한번, 순수한 무작위성?ViewPager.instantiateItem() position

size: 0, pos: 0 
size: 1, pos: 1 
size: 2, pos: 2 
size: 2, pos: 3 
size: 2, pos: 4 
size: 2, pos: 2 
size: 3, pos: 1 
size: 3, pos: 0 
size: 2, pos: 2 
size: 2, pos: 3 
size: 2, pos: 4 

가 기본적으로 내가 무엇을하고 있는가하는 것입니다 :

앞뒤로 다시, 앞으로 5 개보기 사이를 전환 내 ViewPager에서 가지고이 출력, 봐, 나는 그것이 어떤 패턴을 찾을 수 없습니다 내 ViewPagerAdapter의 각 ListView에 대해 각각의 ListAdapter를 가져 와서 각각의 뷰에 맞게 설정합니다 (예 : 첫 번째 목록의 ListAdapter가 첫 번째보기에 추가됨). 그러나 이것은 instantiateItem에서 인수로 주어진 위치가 실제로 어떤 패턴을 따르지 않습니다.

그래서 PagerView에서 뷰의 절대 위치가 무엇인지 알아낼 방법이 있습니까?

답변

-1

좋아요. 저는 문제를 직접 고쳤습니다. 실제로 문제가 아니라고 생각했는데, instantiateItem이 어떻게 작동하는지 오해 한 것 같습니다. 내가 한 일은 내 ViewPager에서 현재의 ListAdapter를 얻는 것이었고 물론 ViewPager.getChildAt()에서 다시 검색 할 수도 있다고 생각했지만 물론 ViewPager는 해당 프로 시저를 기억하기 때문에 올바른 절차는 아닙니다. 현재보기 및 하나보기 앞뒤. 이를 수행하는 올바른 방법은 ViewPagerAdapter에 뷰를 저장 한 다음 뷰를 참조해야 할 때 뷰를 검색하는 것입니다.

+0

나에게도 똑같은 문제가 있지만 "해결책"은 예상대로 작동하지 않으며 어떻게 해결할 수 있는지에 대한 것입니다. –