英文:
Opening of first option navigation bar as soon as application starts java
问题
我正在制作一个安卓项目,我正在使用带有活动的底部导航栏。当我点击导航栏按钮时,它运行得非常好,但当我启动应用程序时,它只显示一个导航栏。我希望第一个导航栏选项在我启动应用程序时就能显示出来,但这并没有发生。请帮我解决这个问题。
英文:
I am making an android project and i am a using bottom navigation bar with activities.While I click on the navigation bar buttons it works perfectly fine but when i start the application it shows me just a navigation bar .I want the first navigation bar option should show up as soon as I start the application but it is not happening .Please help me with this.
答案1
得分: 0
如果您正在使用片段(fragments)来实例化底部导航栏(bottom navigation bar),您只需要在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();
}
}
英文:
If you are using fragments to instantiate in the bottom navigation bar, you just need to instantiate the fragment in the onCreate Method and use the bottom navigation bar listener to use it to handle click listeners.
In this demo, I have a navigation bar which is being initialized using the listeners and after that, in the onCreate I instantiate the fragment to display when the fragment when created.
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();
专注分享java语言的经验与见解,让所有开发者获益!
评论