已知使用底部导航的菜单项
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/navi_home"
android:icon="@mipmap/home"
android:iconTint="@color/lightgray"
android:title="首页"
/>
<item
android:id="@+id/navi_news"
android:icon="@mipmap/news"
android:title="新闻"
/>
<item
android:id="@+id/navi_mine"
android:icon="@mipmap/mine"
android:title="我的"
/>
menu>
有三个fragment,分别是HomeFragment,NewsFragment,MineFragment。要实现底部导航的切换,请将MainActivity里的代码补充完整。
private BottomNavigationView = findViewById(R.id.bnv01);
//点击底部导航视图菜单项,实现不同Fragment的展示
bottomNavigationView.setOnItemSelectedListener(new BottomNavigationView. 【1】 () {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
//得到菜单项id
int id = item. 【2】 ();
switch(id){
case R.id.navi_home:
//用新的Fragment的替换
getSupportFragmentManager().beginTransaction(). 【3】 (R.id.frame1, new HomeFragment()). 【4】 ();
break;
case R.id.navi_news:
break;
case R.id.navi_mine:
Bundle bundle =new Bundle();
bundle.putString("name","张三");
MineFragment mineFragment =new MineFragment();
mineFragment. 【5】 (bundle);//向MineFragment传值
getSupportFragmentManager().beginTransaction().replace(R.id.frame1, new MineFragment()). 【4】 ();
reak;
}
return true;
}
});
求:
(1)、
(2)、
(3)、
(4)、
(5)、
private BottomNavigationView = findViewById(R.id.bnv01);
//点击底部导航视图菜单项,实现不同Fragment的展示
bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
//得到菜单项id
int id = item.getItemId();
switch(id){
case R.id.navi_home:
//用新的Fragment的替换
getSupportFragmentManager().beginTransaction().replace(R.id.frame1, new HomeFragment()).commit();
break;
case R.id.navi_news:
getSupportFragmentManager().beginTransaction().replace(R.id.frame1, new NewsFragment()).commit();
break;
case R.id.navi_mine:
Bundle bundle =new Bundle();
bundle.putString("name","张三");
MineFragment mineFragment =new MineFragment();
mineFragment.setArguments(bundle);//向MineFragment传值
getSupportFragmentManager().beginTransaction().replace(R.id.frame1, new MineFragment()).commit();
break;
}
return true;
}
});