当前位置: 首页 > 知识库问答 >
问题:

android更改底部栏中的默认项

柯锋
2023-03-14

我在应用程序中使用底部栏。但我想更改底部栏中的默认项(选项卡)。我不使用任何外部库。如何在应用程序运行时设置我最喜欢的选项卡。

我的代码:

BottomNavigationView bottomNavigationView = (BottomNavigationView) findViewById(R.id.navigation);
bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
    @Override
    public boolean onNavigationItemSelected(@NonNull MenuItem item) {
        Fragment selectedFragment = null;
        switch (item.getItemId()) {
            case R.id.action_home:
                selectedFragment = Fragment1.newInstance();
                break;
            case R.id.action_product:
                selectedFragment = Fragment2.newInstance();
                break;
            case R.id.action_order:
                selectedFragment = Fragment3.newInstance();
                break;
            case R.id.action_contact:
                selectedFragment = Fragment4.newInstance();
                break;
        }

        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction transaction = fragmentManager.beginTransaction();
        transaction.replace(R.id.scrollView, selectedFragment);
        transaction.commit();
        return true;
    }

});

共有3个答案

骆磊
2023-03-14
    for (int i = 0, size = menu.size(); i < size; i++) {
        MenuItem item = menu.getItem(i);
        item.setChecked(item.getItemId() == 0);
    }
左丘季
2023-03-14

这应该是可行的(我将其与api 19一起使用)

bottomNavigationView.getMenu().getItem(index).setChecked(true);
颛孙庆
2023-03-14
bottomNavigationView.setSelectedItemId(R.id.action_home);

这会管用的

 类似资料:
  • 你好,我想更改默认activity。但当我这样做的时候,应用程序启动时不会出现任何错误 这样Mainactivy就可以毫无问题地启动了。当我按下按钮时,它也会转到设备activity。所以一切正常。现在我需要DevcieACtivty成为默认的一个。 我就这样改变舱单 但现在应用程序没有上线。没有错误。控制台中没有任何内容。只是什么都做不到,会有什么问题吗? 开始写入以下错误ActivityMan

  • 字体Monospaced映射到不同系统上的不同字体。在Windows上,它被映射到“Courier”,在Linux上,它被映射到“Lucida Typewriter”。 http://ui.netbeans.org/docs/ui/editor_fonts_colors/editor_fonts_and_colors.htm 我在windows上,想将单倍行距字体映射到“consolas”而不是“

  • 问题内容: 如何更改默认外壳?该命令当前显示: 我想将其更改为Bash。 问题答案: 尝试linux命令。 详细命令为。它将提示您输入密码。您的默认登录Shell 现在是。 您必须注销并重新登录才能看到此更改。 手册页中引用了以下内容: chsh命令更改用户登录外壳。这确定了用户初始登录命令的名称。普通用户只能为自己的帐户更改登录外壳,超级用户可以为任何帐户更改登录外壳 此命令将永久更改默认登录外

  • 每次我在Android Studio中创建新项目时,都会遇到以下构建错误: 我已经知道如何更改项目设置以使用JDK 11,但我想为所有新项目永久解决这个问题。 如何让Android Studio/Gradle在所有新项目中使用JDK 11而不是1.8?

  • 本文向大家介绍android实现底部导航栏,包括了android实现底部导航栏的使用技巧和注意事项,需要的朋友参考一下 底部导航栏我选择用FragmentTabHost+Fragment来实现,这个方法比较好用,代码量也不多 首先是开始的activity_main.xml 也可以直接在xml文件里面写 这xml文件就一个view加一个tab  view用来显示碎片,tab用来放置底部按钮的数量 再

  • 问题内容: 是否可以修改在JavaScript中打开Confirm()函数的消息框的标题? 我可以创建一个模式弹出框,但是我想做到这一点尽可能的简单。我想做这样的事情: Internet Explorer中的默认标题是“ Windows Internet Explorer”,而在Firefox中,默认标题是“ [JavaScript-program]”。不是很翔实。尽管从浏览器安全性的角度来看我可