Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.56/27: Рейтинг темы: голосов - 27, средняя оценка - 4.56
Бородач
Заблокирован
#1

ViewPager Indicator

04.03.2013, 01:25. Просмотров 4830. Ответов 63
Метки нет (Все метки)

Здравствуйте! Взял пример с https://github.com/JakeWharton/Android-ViewPagerIndicator и хотел бы объединить табы с индикатором который внизу, похожий на горизонтальный scrollbar, но никак не получается, хотя я и задействовал неиспользуемые участки своего головного мозга, подскажите

Проблема тут:
Java
1
2
3
4
5
TabPageIndicator indicator = (TabPageIndicator)findViewById(R.id.indicator);
indicator.setViewPager(pager);
                  
UnderlinePageIndicator mIndicator = (UnderlinePageIndicator)findViewById(R.id.indicator1);
mIndicator.setViewPager(pager);
0
Вложения
Тип файла: 7z sample.7z (283.8 Кб, 3 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2013, 01:25
Ответы с готовыми решениями:

Viewpager with indicator + horizontal scrolling
Есть приложение: https://github.com/PhantomRec/JSON В нём реализован список...

Как в TabWidget убрать Tab indicator?
Можно ли его выключить, или хотя бы сделать прозрачного цвета?

ViewPager
Здравствуйте! В приложении использовал пример с Хабра...

ViewPager
Помогите пожалуйста. Использую эту фичу в своей программе(пример один и его...

ViewPager
Всем. Да я недалекий и тупой, уже дня три не могу никак понять :wall: Есть...

63
Бородач
Заблокирован
04.03.2013, 04:28  [ТС] #21
Там кстати в UnderlinePageIndicator коммент щас увидел над этим if //Clear us from the old pager.
А почему так происходит, ведь у меня же разные объекты индикаторов и у них как выяснилось хоть и одинаковая реализация, но она же вроде в разных классах?
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.03.2013, 04:36 #22
пейджер 1 и он держит 1 слушателя(последнего засетаного), поэтому метод и называется setOnPageChangeListener а не addOnPageChangeListener

Добавлено через 4 минуты
я ошибся про обнуление, сонный уже, обнуляется слушатель предыдущего пейджера если он был, в нашем случае просто установка слушателя в полученный пейджер
mViewPager = viewPager;
mViewPager.setOnPageChangeListener(this);
заменяет его слушателя от первого индикатора.
1
Бородач
Заблокирован
04.03.2013, 04:37  [ТС] #23
Ясно, теперь я немного стал понимать, спасибо, Вы мне очень помогли
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.03.2013, 04:39 #24
всегда пожалуйста
1
Бородач
Заблокирован
05.03.2013, 16:21  [ТС] #25
Здравствуйте! Подскажите как объединить TabPageIndicator с ListView Sliding Menu как на картинке
0
Миниатюры
ViewPager Indicator  
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
05.03.2013, 16:44 #26
что значит объединить?
у TabPageIndicator есть метод setOnPageChangeListener
1
Бородач
Заблокирован
05.03.2013, 17:08  [ТС] #27
Сделать параллельную работу, например прокрутил ListView и табы прокрутились и наоборот, или удалил таб и удалился соответствующий табу итем в ListView. Возможно это и не сложно сделать, но мне что то тяжело это всё даётся
Возможно ли использовать один адаптер для TabPageIndicator и ListView?, теоретически это вроде то что мне нужно
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
05.03.2013, 17:39 #28
если айтемы должны выглядеть одинаково, то можно общий адаптер.
плюс лысынеры нужны чтобы выбор синхронизировать.
1
Бородач
Заблокирован
05.03.2013, 18:04  [ТС] #29
Цитата Сообщение от V0v1k Посмотреть сообщение
если айтемы должны выглядеть одинаково, то можно общий адаптер.
Одинаковое наполнение, но не стиль.
Лысынеры это nPageChangeListener?
Могу ли я например сделать как то так: listView.setOnPageChangeListener(TabPageIndicator.getOnPageChangeListener);?
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
05.03.2013, 20:06 #30
Цитата Сообщение от Бородач Посмотреть сообщение
Одинаковое наполнение, но не стиль.
тогда разные адаптеры и просто один List<item> itemList


Цитата Сообщение от Бородач Посмотреть сообщение
Могу ли я например сделать как то так: listView.setOnPageChangeListener(TabPageIndicator.getOnPageC hangeListener);?
можете.
1
Бородач
Заблокирован
05.03.2013, 21:31  [ТС] #31
Разные адаптеры получилось использовать, а вот события объединить пока не получается. TabPageIndicator наследуется от горизонтального скролла и у него нет OnPageChangeListener или же мне самому нужно писать в интерфейсе TabPageIndicator нужный метод и потом реализовывать?
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
06.03.2013, 01:59 #32
Цитата Сообщение от Бородач Посмотреть сообщение
TabPageIndicator наследуется от горизонтального скролла и у него нет OnPageChangeListener
смотрите внимательней.
1
Бородач
Заблокирован
06.03.2013, 02:10  [ТС] #33
Есть, но теперь у ListView нет setOnPageChangeListener
Или может какое другое событие использовать?
Пока получилось лишь по клику итема ListView кликать по табу индикатора, сейчас ищу противоположный способ, но закрадываются сомнения, получится вечный цикл кликов
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
06.03.2013, 02:14 #34
зачем клик имитировать? что у пейджера нет методов для смены страницы? также в адаптере листа можно реализовать метод аля setSelectedItem().

Добавлено через 45 секунд
Цитата Сообщение от Бородач Посмотреть сообщение
Есть, но теперь у ListView нет setOnPageChangeListener
есть OnItemClickListener
1
Бородач
Заблокирован
06.03.2013, 02:24  [ТС] #35
Цитата Сообщение от V0v1k Посмотреть сообщение
есть OnItemClickListener
Через него я и делаю клик:
Java
1
2
3
4
5
6
listView.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int item, long arg3) {
                indicator.onPageSelected(item);             
            }           
        });
Цитата Сообщение от V0v1k Посмотреть сообщение
также в адаптере листа можно реализовать метод аля setSelectedItem().
Этого я пока не умею.
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
06.03.2013, 02:44 #36
а что вы делаете в OnPageChangeListener'e?
1
Бородач
Заблокирован
06.03.2013, 02:52  [ТС] #37
В нём ничего не делаю, я даже не знаю как его вызвать
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
06.03.2013, 02:58 #38
indicator.setOnPageChangeListener(listener);
1
Бородач
Заблокирован
06.03.2013, 03:11  [ТС] #39
Странно, в выпадающей подсказке не было этого метода, а вместо listener создавать new OnPageChangeListener()?
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
06.03.2013, 03:21 #40
да.
1
06.03.2013, 03:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.03.2013, 03:21

GridView и ViewPager
Всем привет. У меня есть GridView, в котором можно, конечно же, тыкать на...

ViewPager и TextView
В приложении ViewPager и TextView. Все работает. Теперь нужно впихнуть во...

ViewPager и Tab
Здравствуйте. Есть приложение на андроид C# (файл проекта в приложении). Он...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru