我创建了一个带有底部导航栏的 Activity 。 我在谷歌上搜索了很多关于它的东西,但现在我不知道如何准确地处理这个问题。 之前,当用户点击底部导航时,我刚刚开始另一个 Activity ,但我认为这不太好。
如何在选项卡之间切换? 我必须使用 fragment 吗?那么“setContentView(int layoutResID)”呢?我怎样才能做到这一点?我很困惑...
private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener = new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.navigation_home:
return true;
case R.id.navigation_dashboard:
startActivity(dashboardActivity);
return true;
case R.id.navigation_notifications:
startActivity(dashboardActivity);
return true;
}
return false;
}
};
非常感谢您的帮助 - 希望您明白我的意思。
最佳答案
Activity 转换总是代价高昂的,我们应该仅在切换上下文时从一个 Activity 切换到另一个 Activity。 fragment
是 Activity 中 UI 的一部分。同一个 fragment 可以用于多个 Activity 。就像 Activity 一样, fragment 有自己的生命周期,setContentView(int layoutResID)
可以在 fragment 的 OnCreate
中设置为不同的布局。
这link详细说明何时使用 Activity 或 fragment 。
Android developer guide on Fragments
Code path tutorial在底部导航 View 上。
关于android - 使用底部导航切换 Activity/fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46132553/