Господа помогите разобраться, я создаю свой класс, наследуюсь от ViewPager и хочу перехватывать событие onPageSelected
[syntax=java]
public class class_MyViewPager extends ViewPager implements ViewPager.OnPageChangeListener
{
...
@Override
public void onPageSelected(int position)
{
Log.d(TAG, " Page changed, current : " + getCurrentItem() + " (" + position + ")");
}
...
}
[/syntax]
эта реализация не работает, в логе при смене страницы запись не появляется, в чем ошибка?
создаю свой класс ViewPager перехват onPageSelected
-
- Сообщения: 138
- Зарегистрирован: 27 июн 2014, 01:41
Re: создаю свой класс ViewPager перехват onPageSelected
возможно вы не зарегестрировали слушателя для смены страниц
pager.addOnPageChangeListener(this);
и мочему class_MyViewPager - с маленькой буквы?
pager.addOnPageChangeListener(this);
и мочему class_MyViewPager - с маленькой буквы?
Re: создаю свой класс ViewPager перехват onPageSelected
спасибо! можно ведь так
[syntax=java]
public class class_viewpager extends ViewPager
{
... в конструкторах класса
this.addOnPageChangeListener(new ViewPager.OnPageChangeListener()
{
@Override
public void onPageSelected(int position)
{
Log.d(TAG, " Page changed (in class) current : " + position);
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels)
{
}
@Override
public void onPageScrollStateChanged(int state)
{
}
});
...
}
[/syntax]
правда удаление обработчика (clearOnPageChangeListeners) придется видимо вызвать в коде создавшем экземпляр класса class_viewpager, а не в самом классе. ведь в jav'е вроде как нет деструкторов?
код пишу для себя поэтому все с меленькими буквами, так больше нравится
[syntax=java]
public class class_viewpager extends ViewPager
{
... в конструкторах класса
this.addOnPageChangeListener(new ViewPager.OnPageChangeListener()
{
@Override
public void onPageSelected(int position)
{
Log.d(TAG, " Page changed (in class) current : " + position);
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels)
{
}
@Override
public void onPageScrollStateChanged(int state)
{
}
});
...
}
[/syntax]
правда удаление обработчика (clearOnPageChangeListeners) придется видимо вызвать в коде создавшем экземпляр класса class_viewpager, а не в самом классе. ведь в jav'е вроде как нет деструкторов?
код пишу для себя поэтому все с меленькими буквами, так больше нравится