android - 如何以编程方式更改选定的导航项

标签 android menu-items

当我创建一个新项目时,我使用了Navigation Drawer Activity app screen

现在,当我单击每个菜单项时,都会通过调用方法名称替换来打开一个 fragment 。

    public boolean onNavigationItemSelected(MenuItem item) {
            // Handle navigation view item clicks here.
            int id = item.getItemId();

            if (id == R.id.nav_home) {
                replaceFragment(0);
                setTit = "Your State Info.";
                setTitle(setTit);
 } else if (id == R.id.nav_flashcards) {

            replaceFragment(1);
            setTit = "Flash Cards";
            setTitle(setTit);

在 fragment 1 中,我有一个 RadioGroup,当检查的更改将打开 fragment 时,取决于检查的 radio 。

 @Override
    public void onCheckedChanged(RadioGroup radioGroup, int i) {

        RadioButton radioButton = (RadioButton)getActivity().findViewById(i);

            if(radioButton.getTag()==1)
        ((MainActivity) getActivity()).replaceFragment(0);
           else if ((radioButton.getTag()==2))
             ((MainActivity) getActivity()).replaceFragment(2);
    }

应用程序工作正常,但问题是我如何更改所选的导航项并更改操作栏的标题。

可以这样使用

 ((MainActivity) getActivity()).onNavigationItemSelected(menuitem);

但是我如何从 fragment 中访问 menu>activity_main_drawer.xml 中的项目并通过 menuitem 传递它

最佳答案

这对我有用..

NavigationView navigationView = (NavigationView) getActivity().findViewById(R.id.nav_view);
        navigationView.getMenu().getItem(2).setChecked(true); 

关于android - 如何以编程方式更改选定的导航项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40944681/

相关文章:

wordpress - 如何将类和元素添加到 WordPress "wp_nav_menu"子菜单中的 <a> 标签?

java - 如何在自定义弹出菜单中将图标设置在右侧

android - 不能使用@string 表示法在 AndroidManifest.xml 中定义 <intent-filter>

Android动态字符串资源

android - 当我将 android 背景设置为白色时,tablayout 和菜单项背景也变成了白色

java - 如何将项目添加到文本选择弹出菜单?

android - 如何在 BottomNavigationView 中显示没有色调颜色的菜单项图标

java - 我可以在 Android 上使用 Bouncy CaSTLe Keystore.UBER 吗?

android - 如何从原生(Android)向 Flutter 发送数据

c# - 网络服务发现