1. 程式人生 > >ViewPager獲取當前item的View

ViewPager獲取當前item的View

關於ViewPager 在使用過程中,獲取當前view出現崩潰的bug修改方案:


1.造成崩潰的原因
1).view和viewpager是雙向關聯的


2).通過getChildAt()方法獲取view的時候,獲取到的view是null,原因是:但是滑動超過3個view後,
再拿這個view的時候發現是null, mViewPager.getCurrentItem()超過2時就是null了, 這說明viewp
ager是三個view重複利用.




2.解決辦法:
1).在viewpager的setOnpageChange()的監聽事件中,在onPageSelected()方法中,為當前view新增tag
mViewPager.setTag(currentItem);


2).通過viewpager的findViewWithTag()方法獲取到
View view = mViewPager.findViewWithTag(mViewPager.getCurrentItem());



這樣就取到了當前item對應的view.