Почему ViewPagerIndicator каждый раз вычисляет все заголовки

Я использую ViewPager и ViewPagerIndicator (здесь). Когда я отлаживаю, я вижу, что ViewPagerIndicator вызывает getPageTitle() для получения заголовка всех страниц каждый раз, когда я прокручиваю Viewpager. Сейчас у меня более 1000 страниц. Итак, когда я прокручиваю, заголовки больше не гладкие. Вы сталкивались с этой проблемой раньше? Пожалуйста, поделитесь со мной решением. Приветствуются любые рекомендации.

Большое спасибо.


person Nguyen Minh Binh    schedule 12.12.2012    source источник
comment
ИМХО, ViewPager не подходит для 1000 страниц. Пользователь не собирается листать 1000 страниц или даже листать 1000 вкладок.   -  person CommonsWare    schedule 12.12.2012
comment
Но в некоторых особых случаях мы можем позволить пользователю прокрутить до 1000 страниц. И проблема в том, что ViewPagerIndicator пересчитывает все заголовки из 1000 страниц. Это не хорошо. Верно?   -  person Nguyen Minh Binh    schedule 12.12.2012
comment
Это нехорошо — тогда возьмите исходный код ViewPagerIndicator и измените его так, чтобы он работал так, как вы хотите. Или попробуйте PagerTabStrip. Или напишите свою собственную реализацию вкладки с нуля. Или вообще избегайте использования вкладок.   -  person CommonsWare    schedule 12.12.2012


Ответы (1)


У меня такая же проблема, у меня ListView с ArrayAdapter. Каждый раз, когда я прокручиваю страницу назад, список продолжает воссоздавать себя и расширяться. Я решил это с помощью простого boolean, чтобы проверить, есть ли в списке элементы или нет, но это не оптимальное решение. Я думаю, что в OnPageChangeListener из пакета android.support.v4.view.ViewPager есть что-то, что ViewPagerIndicator не решает.

person Amjad Abu Saa    schedule 24.03.2013