android - 使用底部导航切换 Activity/fragment

标签 android android-fragments android-activity

我创建了一个带有底部导航栏的 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/

相关文章:

java - 该按钮不可见,它将连接 android studio 中的另一个 Activity

android - FragmentTransaction 的 setCustomAnimation() 给出错误

android - 为什么不调用嵌套 fragment (ViewModel)中的流集合?

android - 确认 Activity Android Wear 持续时间太短

Java/Android 在运行新方法之前等待线程完成

java - Android 下载Base64编码数据,解码并保存到文件

android - 如何在Android中实现推送通知

android - fragment 交易 .add 与 .replace 最佳视角?

Android:在后台堆栈中保持 Activity 正常运行

android - 如何测试 Activity 的 onDestroy 方法