WedX - журнал о программировании и компьютерных науках

В Tablayout tabLayout.addOnTabSelectedListener (новый метод TabLayout.OnTabSelectedListener() не работает

У меня есть три вкладки с фрагментом внутри активности, но метод addOnTabSelectedListener не работает, и мой фрагмент работает правильно, и у меня также есть viewPager, когда я использую его для отладки, он не входит в метод

viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));

    Intent intent = getIntent();
    pos = intent.getIntExtra("position",0);
    tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
        @Override
        public void onTabSelected(TabLayout.Tab tab) {
            viewPager.setCurrentItem(tab.getPosition());

            if (tab.getPosition() == 1) {
              tabLayout.getTabAt(pos).select();
                tabLayout.setBackgroundColor(ContextCompat.getColor(Shop.this,
                        R.color.white));
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                    getWindow().setStatusBarColor(ContextCompat.getColor(Shop.this,
                            R.color.white));
                }
            } else if (tab.getPosition() == 2) {
               /* toolbar.setBackgroundColor(ContextCompat.getColor(Shop.this,
                        android.R.color.white));*/
                tabLayout.setBackgroundColor(ContextCompat.getColor(Shop.this,
                        android.R.color.white));
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                    getWindow().setStatusBarColor(ContextCompat.getColor(Shop.this,
                            android.R.color.white));
                }
            } else {
               /* toolbar.setBackgroundColor(ContextCompat.getColor(Shop.this,
                        R.color.white));*/
                tabLayout.setBackgroundColor(ContextCompat.getColor(Shop.this,
                        R.color.white));
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                    getWindow().setStatusBarColor(ContextCompat.getColor(Shop.this,
                            R.color.white));
                }
            }
        }
        @Override
        public void onTabUnselected(TabLayout.Tab tab) {
        }
        @Override
        public void onTabReselected(TabLayout.Tab tab) {
        }
    });

Ответы:


1

можешь попробовать так,

tabLayout.setupWithViewPager(viewPager);
tabLayout.setOnTabSelectedListener(
 new TabLayout.ViewPagerOnTabSelectedListener(viewPager) {
  @Override
  public void onTabSelected(TabLayout.Tab tab) {
      //for selected tab, write your code here...
  }
});

для подробного и понятного объяснения посетите эту ссылку onTabSelected Selected Not Called

31.07.2018
  • newTabLayout что это такое 31.07.2018
  • извините, используйте ссылку на Tablayout ' tabLayout ', а не 'newTabLayout ', я изменю ответ 31.07.2018
  • tabLayout.setOnTabSelectedListener( new TabLayout.ViewPagerOnTabSelectedListener(viewPager) { @Override public void onTabSelected(TabLayout.Tab tab) { super.onTabSelected(tab); } }); 31.07.2018
  • при отладке не входит внутрь метода 31.07.2018
  • Извините, я изменил свой ответ, была опечатка, можете попробовать, еще раз извините за ошибку. 31.07.2018
  • все в порядке, я пытаюсь 31.07.2018
  • Новые материалы

    Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что это выглядит сложно…
    Просто начните и учитесь самостоятельно Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что он кажется мне сложным, и я бросил его. Это в основном инструмент..

    Лицензии с открытым исходным кодом: руководство для разработчиков и создателей
    В динамичном мире разработки программного обеспечения открытый исходный код стал мощной парадигмой, способствующей сотрудничеству, инновациям и прогрессу, движимому сообществом. В основе..

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..


    Для любых предложений по сайту: wedx@cp9.ru