Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

ViewPager Indicator - Программирование Android

04.03.2013, 01:25. Просмотров 4592. Ответов 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 Indicator (Программирование Android):

Viewpager with indicator + horizontal scrolling - Программирование Android
Есть приложение: https://github.com/PhantomRec/JSON В нём реализован список в виде RecyclerView с данным взятыми из JSON формата. ...

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

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

ViewPager - Программирование Android
Всем. Да я недалекий и тупой, уже дня три не могу никак понять :wall: Есть ViewPager <android.support.v4.view.ViewPager ...

ViewPager - Программирование Android
Здравствуйте! В приложении использовал пример с Хабра http://habrahabr.ru/post/131889/, однако, не могу понять как при прокрутке экранов...

ViewPager автодаводка - Программирование Android
Подскажите пожалст ,как можно изменить автодаводку уменьшить или увеличить?

63
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.03.2013, 03:39 #16
про кого? я говорил вам про реализацию метода setViewPager, вы сами ссылку в самом начали дали...
1
Бородач
Заблокирован
04.03.2013, 03:57  [ТС] #17
Ну да, ещё бы знать Java, тогда было бы попроще
Я так понял реализация это вот:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@Override
    public void setViewPager(ViewPager view) {
        if (mViewPager == view) {
            return;
        }
        if (mViewPager != null) {
            mViewPager.setOnPageChangeListener(null);
        }
        final PagerAdapter adapter = view.getAdapter();
        if (adapter == null) {
            throw new IllegalStateException("ViewPager does not have adapter instance.");
        }
        mViewPager = view;
        view.setOnPageChangeListener(this);
        notifyDataSetChanged();
    }
возможно return
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.03.2013, 04:07 #18
return это если в 1 индикатор дважды пихать 1 пейджер, а у вас наоборот, 1 пейджер в два индикатора.

Добавлено через 36 секунд
Цитата Сообщение от Бородач Посмотреть сообщение
ещё бы знать Java
а английский хоть знаете?

Добавлено через 3 минуты
здесь нет никаких уникальных джавишных языковых конструкций, так что незнание джавы не оправдание.
1
Бородач
Заблокирован
04.03.2013, 04:10  [ТС] #19
Тогда получается на втором if он перестаёт слушать, если я правильно понял

Добавлено через 2 минуты
Я русский то с трудом постиг, английский для меня знать это роскошь
0
V0v1k
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.03.2013, 04:17 #20
ну да, когда вы второй раз вызываете setViewPager(для второго индикатора), он сначала обнуляет слушателя от первого индикатора, а потом вставляет своего (что даже без обнуления убрало бы слушателя от первого индикатора).

Добавлено через 3 минуты
Цитата Сообщение от Бородач Посмотреть сообщение
Я русский то с трудом постиг, английский для меня знать это роскошь
английский проще, в нем нет падежей и родов.
1
Бородач
Заблокирован
04.03.2013, 04:28  [ТС] #21
Там кстати в UnderlinePageIndicator коммент щас увидел над этим if //Clear us from the old pager.
А почему так происходит, ведь у меня же разные объекты индикаторов и у них как выяснилось хоть и одинаковая реализация, но она же вроде в разных классах?
0
V0v1k
1159 / 983 / 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
1159 / 983 / 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
1159 / 983 / 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
1159 / 983 / 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
1159 / 983 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
05.03.2013, 20:06 #30
Цитата Сообщение от Бородач Посмотреть сообщение
Одинаковое наполнение, но не стиль.
тогда разные адаптеры и просто один List<item> itemList


Цитата Сообщение от Бородач Посмотреть сообщение
Могу ли я например сделать как то так: listView.setOnPageChangeListener(TabPageIndicator.getOnPageC hangeListener);?
можете.
1
05.03.2013, 20:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.03.2013, 20:06
Привет! Вот еще темы с ответами:

GridView и ViewPager - Программирование Android
Всем привет. У меня есть GridView, в котором можно, конечно же, тыкать на пункты списка и открывать новую активити: например,...

Правильный ViewPager - Программирование Android
Вообщем все что я сделал прикрепил на картинке. Беда то вот в чем. Ну например я тыкаю пальцем ну и скролирую, а тыкаю то я в кнопку...

создание ViewPager - Программирование Android
здравствуйте,возник вопрос по ViewPager. Не получается добавить компоненты после ViewPager, т.е Статический компонент вверху и внизу,а по...

ViewPager setText - Программирование Android
Приветствую ув.форумчане! Скопировал данный код из startandroid,помогите как сделать, чтобы при каждом слайде был разный текст который...


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

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

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