gpt4 book ai didi

java - 导航 View 点击事件

转载 作者:行者123 更新时间:2023-12-01 06:01:28 25 4
gpt4 key购买 nike

我正在使用 Android Studio 模板中的 android 抽屉导航式导航菜单。如何根据 ID 导航到不同的 Activity。

DrawerLayout drawer = findViewById(R.id.drawer_layout);
NavigationView navigationView = findViewById(R.id.nav_view);

// Passing each menu ID as a set of Ids because each
// menu should be considered as top level destinations.
mAppBarConfiguration = new AppBarConfiguration.Builder(
R.id.nav_home, R.id.nav_gallery, R.id.nav_slideshow,
R.id.nav_tools, R.id.nav_share, R.id.nav_send)
.setDrawerLayout(drawer)
.build();
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
NavigationUI.setupActionBarWithNavController(this, navController, mAppBarConfiguration);
NavigationUI.setupWithNavController(navigationView, navController);


@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.admin_panel_navigation, menu);
return true;
}

@Override
public boolean onSupportNavigateUp() {
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
return NavigationUI.navigateUp(navController, mAppBarConfiguration)
|| super.onSupportNavigateUp();
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
return NavigationUI.onNavDestinationSelected(item, navController)
|| super.onOptionsItemSelected(item);
}

image我尝试了下面这组代码,但它不执行点击操作。

@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
// Handle navigation view item clicks here.
switch (item.getItemId()) {

case R.id.nav_maths: {
//do somthing
break;
}
}
//close navigation drawer
mDrawerLayout.closeDrawer(GravityCompat.START);
return true;
}

我知道我错过了一些东西,但我找不到解决方案。谁能帮帮我吗?

最佳答案

根据 Tie destinations to menu items section ,导航使用您添加到菜单 xml 中的 ID,将它们与导航图 xml 文件中的目的地进行匹配。

因此,如果您有一个菜单项,例如

<item
android:id="@+id/nav_maths"
android:icon="@drawable/maths"
android:title="@string/maths" />

并希望它启动不同的 Activity ,您可以添加 <activity>导航图的目的地:

<activity
android:id="@+id/nav_maths"
android:name="com.your.package.MathsActivity" />

由于它们具有相同的 ID,因此当您单击菜单中的该项目时,您的 Activity 就会启动。

请注意,导航侧重于只有一个 Activity ,因此 Activity 目的地应被视为图表的退出点 - 您的第二个 Activity 将有自己的导航图等,与第一个 Activity 完全分开。

关于java - 导航 View 点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57639024/

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