Начать новое намерение, а затем открыть определенный фрагмент - PullRequest
0 голосов
/ 25 марта 2019

Я хочу начать намерение, а затем автоматически выбирать фрагмент после нажатия кнопки.

Это функция моей кнопки.

startActivity(new Intent(AlertNotif.this, HomeActivity.class));

В моемHomeActivity.class, у него есть BottomNav для разных фрагментов.

   bottom_nav.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem item) {

            BottomNavigationView bottomNavigationView = (BottomNavigationView)findViewById(R.id.bottom_nav);
            BottomNavigationViewHelper.removeShiftMode(bottomNavigationView);

            switch (item.getItemId()){

                case R.id.nav_map:
                    setFragment(mapFragment);
                    return true;
                case R.id.nav_cctv:
                    setFragment(cctvFragment);
                    return true;

Мой фрагмент по умолчанию для HomeActivity - это mapFragment, я хочу установить его в cctvFragment после нажатия кнопки вместо фрагмента по умолчанию.Я также попытался изменить HomeActivity.class на CctvFragment.class, но он все еще открывается по умолчанию.

1 Ответ

0 голосов
/ 25 марта 2019

При создании действия, которое вы называете HomeActivity, используйте:

navigation.selectedItemId = R.id.your_id

Где навигация - это ваш макет в xml для bottomNavigationView, а ваш идентификатор - это идентификатор вашего элемента навигации!

Все, что он делает, это вызывает ваш onNavigationItemSelectListener, когда создается действие. Не забудьте установить onNavigationItemSelectListener, прежде чем использовать этот код

Этот код на Kotlin, я надеюсь, это не проблема

...