应用程序启动 java 后立即打开第一个选项导航栏



我正在制作一个安卓项目,我是一个使用带有活动的底部导航栏。当我单击导航栏按钮时,它工作得很好,但是当我启动应用程序时,它只显示一个 导航栏 .我希望第一个导航栏选项应该在我启动应用程序后立即显示,但它没有发生.请帮我解决这个问题。

如果在底部导航栏中使用片段实例化,则只需在 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();

相关内容

最新更新