应用程序一启动就打开第一个选项导航栏,java。

问题描述 投票:-1回答:1

我正在做一个安卓项目,我正在使用底部的导航栏与活动.当我点击导航栏按钮时,它工作得非常好,但当我启动应用程序时,它显示我只是一个导航栏.我希望第一个导航栏选项应该显示,只要我启动应用程序,但它没有发生.请帮助我。

java android android-studio oncreate android-bottomnav
1个回答
0
投票

如果你在底部导航栏中使用碎片实例化,你只需要在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();
© www.soinside.com 2019 - 2024. All rights reserved.