Открытие первой панели навигации по вариантам при запуске приложения java - PullRequest
0 голосов
/ 29 мая 2020

Я создаю проект android, и я использую нижнюю панель навигации с действиями. Пока я нажимаю кнопки панели навигации, она работает отлично, но когда я запускаю приложение, отображается только панель навигации. Я хочу первая опция панели навигации должна появиться, как только я запускаю приложение, но этого не происходит. Пожалуйста, помогите мне с этим.

1 Ответ

0 голосов
/ 29 мая 2020

Если вы используете фрагменты для создания экземпляра в нижней панели навигации, вам просто нужно создать экземпляр фрагмента в методе onCreate и использовать прослушиватель нижней панели навигации, чтобы использовать его для обработки прослушивателей щелчков.

В этой демонстрации у меня есть панель навигации, которая инициализируется с помощью слушателей, а после этого в onCreate я создаю экземпляр фрагмента для отображения при создании фрагмента.

public class MainActivity extends AppCompatActivity {
ViewPager viewPager;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    BottomNavigationView bottomNav = findViewById(R.id.bottom_navigation_bar);
    bottomNav.setOnNavigationItemSelectedListener(navListener);
    viewPager = findViewById(R.id.view_pager);

    PagerAdapter pagerAdapter = new PagerAdapter(getSupportFragmentManager(), tabLayout.getTabCount());
    viewPager.setAdapter(pagerAdapter);
    private BottomNavigationView.OnNavigationItemSelectedListener navListener = new BottomNavigationView.OnNavigationItemSelectedListener() {@Override
        public boolean onNavigationItemSelected(@NonNull MenuItem item) {
            Fragment selectedFragment = null;

            switch (item.getItemId()) {
            case R.id.home_nav:
                selectedFragment = new HomeFragment();
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, selectedFragment).commit();

                break;
            case R.id.explore_nav:
                selectedFragment = new ExploreFragment();
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, selectedFragment).commit();
                break;
            }
            return true;
        }
    };

    selectedFragment = new HomeFragment();
    getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, selectedFragment).commit();
...