Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 34, средняя оценка - 5.00
Бородач
Заблокирован
#1

ViewPager Indicator - Android

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

Здравствуйте! Взял пример с https://github.com/JakeWharton/Andro...PagerIndicator и хотел бы объединить табы с индикатором который внизу, похожий на горизонтальный 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);
Вложения
Тип файла: 7z sample.7z (283.8 Кб, 3 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2013, 01:25     ViewPager Indicator
Посмотрите здесь:

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

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


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

Добавлено через 45 секунд
Цитата Сообщение от Бородач Посмотреть сообщение
Есть, но теперь у ListView нет setOnPageChangeListener
есть OnItemClickListener
Бородач
Заблокирован
06.03.2013, 02:24  [ТС]     ViewPager Indicator #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().
Этого я пока не умею.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
06.03.2013, 02:44     ViewPager Indicator #36
а что вы делаете в OnPageChangeListener'e?
Бородач
Заблокирован
06.03.2013, 02:52  [ТС]     ViewPager Indicator #37
В нём ничего не делаю, я даже не знаю как его вызвать
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
06.03.2013, 02:58     ViewPager Indicator #38
indicator.setOnPageChangeListener(listener);
Бородач
Заблокирован
06.03.2013, 03:11  [ТС]     ViewPager Indicator #39
Странно, в выпадающей подсказке не было этого метода, а вместо listener создавать new OnPageChangeListener()?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.03.2013, 03:21     ViewPager Indicator
Еще ссылки по теме:

ViewPager автодаводка Android
ViewPager setText Android
Android Как в TabWidget убрать Tab indicator?
Android ViewPager и TextView
Android Viewpager with indicator + horizontal scrolling

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

Или воспользуйтесь поиском по форуму:
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
06.03.2013, 03:21     ViewPager Indicator #40
да.
Yandex
Объявления
06.03.2013, 03:21     ViewPager Indicator
Ответ Создать тему
Опции темы

Текущее время: 22:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru