#android
#Android
Вопрос:
у меня здесь странная проблема, у меня есть фрагмент диалогового окна, и этот метод находится внутри него :
@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)
вы понимаете, что не так?
Комментарии:
1. я предполагаю, что в этот раз позиция равна нулю, но что я могу с этим поделать и почему это происходит!
Ответ №1:
Это может быть полезно.
https://github.com/astuetz/PagerSlidingTabStrip/issues/69
Я только что столкнулся с той же проблемой, после небольшого тестирования я подтвердил, что причина в том, что внутри нет элементов для отображения PagerSlidingTabStrip
.
Если вы уверены, что у вас есть данные, которые должны отображаться, на PagerSlidingTabStrip
, возможно, вы забыли позвонить PagerSlidingTabStrip.notifyDataSetChanged();
Надеюсь, это вам поможет!