通过底部导航切换 Activity/Fragment

Tho*_*omi 7 android android-fragments android-activity

我创建了一个带有底部导航栏的活动。我用谷歌搜索了很多关于它的东西,但现在我不知道如何准确处理这个问题。之前,当用户单击底部导航时,我刚刚开始另一个活动,但我认为这不好。

如何在选项卡之间切换?我必须使用片段吗?那么“setContentView(intlayoutResID)”呢?我怎样才能做到这一点?我很困惑...

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;
    }

};
Run Code Online (Sandbox Code Playgroud)

非常感谢您的帮助 - 我希望您明白我的意思。

Zoh*_*han 3

活动转换总是很昂贵的,只有当我们切换上下文时,我们才应该从一个活动切换到另一个活动。Afragment是 Activity 中 UI 的一部分。同一片段可以用于多个活动。就像 Activity 一样,Fragment 也有自己的生命周期,并且 可以在FragmentsetContentView(int layoutResID)中设置不同的布局 。OnCreate

链接详细说明了何时使用 Activity 或 Fragment。

Android Fragments 开发者指南

底部导航视图的代码路径教程。