gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 12:49:28 24 4
gpt4 key购买 nike

当我创建一个新项目时,我使用了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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com