Проблема с представлением Oncreate на нижней панели навигации

#android #android-fragments #bottomnavigationview

Вопрос:

У меня есть нижняя панель навигации с 4 фрагментами и 1 действием внутри другого действия(в котором будет отображаться весь фрагмент). Я хочу, чтобы мой первый фрагмент отображался в начале действия(в котором будет отображаться весь фрагмент) вместе с соответствующим элементом нижней панели навигации. Мой фрагмент 1 отображается при запуске, но с неправильным элементом нижней панели навигации. фрагмент 1 с соответствующим элементом

фрагмент 2 с соответствующим элементом в нижнем навигационном представлении Вот что, я начинаю. Выбранный элемент должен быть домашним(посередине)

Вот что, я начинаю. Выбранный элемент должен быть домашним(посередине)

У меня есть это в разделе onCreate

 btmNav = findViewById(R.id.btmnav);  btmNav.setOnNavigationItemSelectedListener((navListner));  getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,new RecViewFragment()).commit();  

и это за пределами Oncreate

 private BottomNavigationView.OnNavigationItemSelectedListener navListner = new BottomNavigationView.OnNavigationItemSelectedListener() {  @Override  public boolean onNavigationItemSelected(@NonNull MenuItem item) {  switch (item.getItemId()){  case R.id.navprofile:  getSupportFragmentManager().beginTransaction().  replace(R.id.fragment_container,new Fragment2()).commit();  break;  case R.id.navmap:  Intent intent = new Intent(MainActivityBuses.this, MapActivity.class);  startActivity(intent);  break;  case R.id.navhome:  getSupportFragmentManager().beginTransaction().  replace(R.id.fragment_container,new Fragment2()).commit();  break;  case R.id.navmybus:  getSupportFragmentManager().beginTransaction().  replace(R.id.fragment_container,new Fragment3()).commit();  break;  case R.id.navinfo:  getSupportFragmentManager().beginTransaction().  replace(R.id.fragment_container,new Fragment4()).commit();  break;  }  return true;  }  

Ответ №1:

я получил ответ, просто нужно добавить это

 btmNav.getMenu().findItem(R.id.navhome).setChecked(true);  

ниже этого

 btmNav = findViewById(R.id.btmnav);  btmNav.setOnNavigationItemSelectedListener((navListner));  getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,new RecViewFragment()).commit();