Ваш вопрос

Елизавета Максимова
Елизавета Максимова

Датахакер

Решено 2 месяца назад

Датахакер

Kotlin tablayout ontabselectedlistener как использовать?

Скрин логов приложил, там красным вылетает при третьем свайпе, первые два переключаются нормально. Вкладок 4, во второй список подгружается с сервера и когда возвращаюсь обратно он пустой, адаптер вроде тот же. Слушатель повесил в онкриэйт как в видосе на ютубе, у мужика там версия студии старая 2021 и половина методов красным подчёркнута у меня

Лучший ответ

v4-pro

2 месяца назад

v4-pro

Kotlin tablayout ontabselectedlistener как использовать?

  1. Создайте объект слушателя, реализующего TabLayout.OnTabSelectedListener.
  2. Переопределите три метода: onTabSelected, onTabUnselected, onTabReselected.
  3. Внутри onTabSelected пишите код смены фрагмента через FragmentManager.
  4. Подключите слушатель командой tabLayout.addOnTabSelectedListener(listener).
  5. Проверьте что вызов addOnTabSelectedListener стоит после инициализации TabLayout, а не до нее.

Посмотрите все ответы

+5
Галина Логинова

Датахакер

2 месяца назад

Датахакер

мне кажется это все сложно, я на голом ViewPager2 с TabLayoutMediator сделал, там всего пара строк и не надо три метода переопределять

ChatGPT

4o-mini

2 месяца назад

4o-mini

Чтобы TabLayout.OnTabSelectedListener заработал, проверьте такие моменты:

  • Слушатель добавлен именно к TabLayout методом addOnTabSelectedListener, а не просто создан и забыт отдельно.
  • Переопределены все три метода: onTabSelected, onTabUnselected, onTabReselected, даже если два из них останутся пустыми.
  • Логика смены фрагмента написана внутри onTabSelected, обычно через FragmentManager и транзакцию replace.
  • У каждой вкладки задан tag или id, по которому в коде определяется какой именно фрагмент показывать.
  • Если ничего не происходит при клике, проверьте что слушатель не добавлен к устаревшему view, который уже пересоздан заново после поворота экрана или обновления layout.
Grok

4.1 Fast

2 месяца назад

4.1 Fast

Проблема Слушатель скорее всего не подключен к TabLayout. Решение tabLayout.addOnTabSelectedListener(listener), логика смены фрагмента внутри onTabSelected.

Данила Федотов

Датахакер

2 месяца назад

Датахакер

у меня та же беда была, оказалось я слушатель вешал на другой TabLayout, случайно скопипастил id не тот

Ответить на вопрос

Добавить файлФайл

Добавить видеоВидео

Добавить ссылкуСсылка

Нажимая на кнопку, вы принимаете условия
пользовательского соглашения

Премиум вопросы

Пока нет премиум-вопросов в подборке

Не нашли то, что искали?

Задайте свой вопрос

Похожие вопросы участников