[英]Android Bottom Navigation Bar in activities
我正在开发一个汽车租赁应用程序,现在我的应用程序中有 3 个片段(主页 - 从回收站视图中显示所有汽车,订单 - 显示用户的预订,个人资料 - 用户个人资料)。 我可以从底部导航栏中切换这 3 个片段。
现在我为主页上的每辆车创建了 onclick 监听器。 当我点击一辆车时,它会将我发送到一个新活动“activity_car_detail.xml”,其中包含有关所选汽车的特定信息。 我的问题是:如何让导航栏出现在这个 Car Detail 活动中? 我应该使用片段而不是活动还是应该怎么做?
这是包含底部导航栏的 Main Activity 的代码:
public class MainActivity extends AppCompatActivity {
public static ProgressBar progressBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
BottomNavigationView bottomNav = findViewById(R.id.bottom_navigation);
bottomNav.setOnNavigationItemSelectedListener(navListener);
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new HomeFragment()).commit();
}
private BottomNavigationView.OnNavigationItemSelectedListener navListener = new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
Fragment selectedFragment = null;
switch (item.getItemId()) {
case R.id.nav_home:
selectedFragment = new HomeFragment();
break;
case R.id.nav_orders:
selectedFragment = new OrdersFragment();
break;
case R.id.nav_profile:
selectedFragment = new ProfileFragment();
break;
}
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, selectedFragment).commit();
return true;
}
};
}
我建议使用 Navigation 组件而不是 Fragment 事务。 这也将解决您的问题,并将删除样板代码。 在此处阅读有关其文档的更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.