создаю свой класс ViewPager перехват onPageSelected

Интерфейс, диалоги, темы, стили, меню
Ответить
KleverinD
Сообщения: 12
Зарегистрирован: 18 сен 2015, 20:45

создаю свой класс ViewPager перехват onPageSelected

Сообщение KleverinD » 20 июн 2016, 09:32

Господа помогите разобраться, я создаю свой класс, наследуюсь от 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]

эта реализация не работает, в логе при смене страницы запись не появляется, в чем ошибка?

ANdriy123456
Сообщения: 138
Зарегистрирован: 27 июн 2014, 01:41

Re: создаю свой класс ViewPager перехват onPageSelected

Сообщение ANdriy123456 » 20 июн 2016, 15:27

возможно вы не зарегестрировали слушателя для смены страниц
pager.addOnPageChangeListener(this);

и мочему class_MyViewPager - с маленькой буквы?

KleverinD
Сообщения: 12
Зарегистрирован: 18 сен 2015, 20:45

Re: создаю свой класс ViewPager перехват onPageSelected

Сообщение KleverinD » 21 июн 2016, 09:21

спасибо! можно ведь так

[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'е вроде как нет деструкторов?

код пишу для себя поэтому все с меленькими буквами, так больше нравится

Ответить