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