我有一个奇怪的问题,我有一个对话框片段,这个方法在里面:
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
currentPosition = position;
currentPositionOffset = positionOffset;
scrollToChild(position, (int) (positionOffset *
tabsContainer.getChildAt(position).getWidth()));
invalidate();
if (delegatePageListener != null) {
delegatePageListener.onPageScrolled(position,
positionOffset, positionOffsetPixels);
}
}
当我使用旧版本的support-v4.jar它工作正常,但当我使用它的最新版本时,这个方法:
scrollToChild(position, (int) (positionOffset *
tabsContainer.getChildAt(position).getWidth()));
返回此错误:
06-19 11:56:23.764: E/AndroidRuntime(1024): java.lang.NullPointerException
06-19 11:56:23.764: E/AndroidRuntime(1024): at
com.astuetz.PagerSlidingTabStrip$PageListener.onPageScrolled
(PagerSlidingTabStrip.java:361)
06-19 11:56:23.764: E/AndroidRuntime(1024): at
android.support.v4.view.ViewPager.onPageScrolled(ViewPager.java:1712)
06-19 11:56:23.764: E/AndroidRuntime(1024): at
android.support.v4.view.ViewPager.pageScrolled(ViewPager.java:1633)
06-19 11:56:23.764: E/AndroidRuntime(1024): at
android.support.v4.view.ViewPager.scrollToItem(ViewPager.java:581)
06-19 11:56:23.764: E/AndroidRuntime(1024): at
android.support.v4.view.ViewPager.onLayout(ViewPager.java:1600)
你明白出了什么问题吗?
答案 0 :(得分:2)
这可能是帮助。
https://github.com/astuetz/PagerSlidingTabStrip/issues/69
我刚刚提出同样的问题,经过一些测试后,我确认原因是PagerSlidingTabStrip
内没有要显示的项目。
如果您确定自己拥有应显示的数据,可以在PagerSlidingTabStrip
上,或许您忘记致电PagerSlidingTabStrip.notifyDataSetChanged();
希望这能帮到你!