Java-单击菜单项打开fragment
我正在android studio上使用id在组中添加菜单。我遇到了菜单单击事件的问题,因为当我单击它时,它不会做任何事情 这就是我尝试过的: 公共布尔值onOptionsItemSelected(菜单项项){ Fragment newFragment=null;//这是要放入FrameLayout的片段 int id=item.getItemId() 以下是我用来添加菜单的内容:Java-单击菜单项打开fragment,java,android,android-studio,Java,Android,Android Studio,我正在android studio上使用id在组中添加菜单。我遇到了菜单单击事件的问题,因为当我单击它时,它不会做任何事情 这就是我尝试过的: 公共布尔值onOptionsItemSelected(菜单项项){ Fragment newFragment=null;//这是要放入FrameLayout的片段 int id=item.getItemId() 以下是我用来添加菜单的内容: NavigationView navigationView = findViewById(R.id.nav_vie
NavigationView navigationView = findViewById(R.id.nav_view);
Menu menu = navigationView.getMenu();
try {
JSONArray jsonArray = new JSONArray(folders);
int id = 1;
int order = 100;
for (int i = 0; i < jsonArray.length(); i++) {
String folder = jsonArray.getString(i);
menu.add(R.id.nav_group1, id, order, folder)
.setIcon(R.drawable.ic_baseline_folder_24);
id++;
order++;
}
} catch (JSONException e) {
e.printStackTrace();
}
mAppBarConfiguration = new AppBarConfiguration.Builder(
R.id.nav_inbox, R.id.nav_important, R.id.nav_sent, R.id.nav_drafts, R.id.nav_spam, R.id.nav_trash, R.id.nav_group1, R.id.nav_create_new_folder, R.id.nav_contact)
.setDrawerLayout(drawer)
.build();
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
NavigationUI.setupActionBarWithNavController(this, navController, mAppBarConfiguration);
NavigationUI.setupWithNavController(navigationView, navController);
NavigationView-NavigationView=findviewbyd(R.id.nav_视图);
Menu Menu=navigationView.getMenu();
试一试{
JSONArray JSONArray=新的JSONArray(文件夹);
int-id=1;
整数阶=100;
for(int i=0;i
我试图实现的是,当我点击菜单时,我想打开nav_组下的片段
当我使用java添加菜单时,你能给我举个例子吗?如果你使用的是NavHostFragment
,你就不应该使用FragmentTransaction
。对吗?@ianhanniballake不,我没有使用NavHostFragment
,那么我怎么能点击菜单项呢事件?我应该使用什么事件来让菜单项click event工作?它看起来确实像是您使用了R.id.nav\u主机\u片段
和Navigation.findNavController
调用。@ianhanniballake是的,我正在使用它,所以当我单击菜单项时,我如何调用片段邮箱?@ianhanniballake你有什么想法吗??????????????????
NavigationView navigationView = findViewById(R.id.nav_view);
Menu menu = navigationView.getMenu();
try {
JSONArray jsonArray = new JSONArray(folders);
int id = 1;
int order = 100;
for (int i = 0; i < jsonArray.length(); i++) {
String folder = jsonArray.getString(i);
menu.add(R.id.nav_group1, id, order, folder)
.setIcon(R.drawable.ic_baseline_folder_24);
id++;
order++;
}
} catch (JSONException e) {
e.printStackTrace();
}
mAppBarConfiguration = new AppBarConfiguration.Builder(
R.id.nav_inbox, R.id.nav_important, R.id.nav_sent, R.id.nav_drafts, R.id.nav_spam, R.id.nav_trash, R.id.nav_group1, R.id.nav_create_new_folder, R.id.nav_contact)
.setDrawerLayout(drawer)
.build();
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
NavigationUI.setupActionBarWithNavController(this, navController, mAppBarConfiguration);
NavigationUI.setupWithNavController(navigationView, navController);