Android - setText для вкладок в инструкции switch case

Мое приложение содержит bottomNavigationView и TabLayout в файле activity_main.xml. Выбранный фрагмент навигации выбирается с помощью переключателя, а вкладки программно именуются следующим образом:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
        tabLayout.addTab(tabLayout.newTab().setText("A"));
        tabLayout.addTab(tabLayout.newTab().setText("B"));
        tabLayout.addTab(tabLayout.newTab().setText("C"));


        BottomNavigationView bottomNavigationView = (BottomNavigationView)
                findViewById(R.id.navigation);

        bottomNavigationView.setOnNavigationItemSelectedListener
                (new BottomNavigationView.OnNavigationItemSelectedListener() {
                    @Override
                    public boolean onNavigationItemSelected(@NonNull MenuItem item) {
                        Fragment selectedFragment = null;
                        switch (item.getItemId()) {
                            case R.id.navigation_national:
                                selectedFragment = ItemOneFragment.newInstance();
                                break;
                            case R.id.navigation_international:
                                selectedFragment = ItemTwoFragment.newInstance();
                                break;
                            case R.id.navigation_blackboard:
                                selectedFragment = ItemThreeFragment.newInstance();
                                break;
                        }
                        FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
                        transaction.replace(R.id.frame_layout, selectedFragment);
                        transaction.commit();
                        return true;
                    }
                });

        FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
        transaction.replace(R.id.frame_layout, ItemOneFragment.newInstance());
        transaction.commit();

    }

}

Теперь я хочу изменить названия вкладок в зависимости от выбранной опции bottomNavigation. Почему я не могу просто добавить addText (""); заявления к разным случаям?

вы уже установили имена вкладок ...

user9025311 21.05.2018 20:40

Да, мне это хорошо известно, но теперь я хочу использовать setText (""); оператор не выходит за рамки случаев, поэтому вкладки переименовываются при выборе другой опции bottomMenu

user9582784 21.05.2018 21:14
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
65
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

tabLayout.getTabAt(item.getItemId()).setText("Ds");

Не могли бы вы привести мне пример, как это использовать здесь?

user9582784 21.05.2018 21:21

Но если у меня три вкладки, он просто переименовывает первую, вторую или третью в зависимости от того, что выбрано в нижнем меню, не так ли?

user9582784 21.05.2018 21:33

на каждом case добавьте эту строчку, да

user9025311 21.05.2018 21:34

Когда я просто устанавливаю положение вручную, оно работает, не нужно его передавать. Спасибо за помощь

user9582784 21.05.2018 21:39

Другие вопросы по теме