Java 我有一个导航抽屉,想打开另一个孤立的片段
我有一个导航抽屉,当我点击一个按钮时,我想转到另一个片段,在那里我无法访问导航抽屉和其他任何东西。我只想在左上角有一个黑色箭头,返回导航抽屉,里面有所有的碎片。 我尝试了一些东西,但没有像我希望的那样正常工作,导航器继续访问,并看到机器人布局一个比另一个 主碎片控制器Java 我有一个导航抽屉,想打开另一个孤立的片段,java,android,android-fragments,fragment,navigation-drawer,Java,Android,Android Fragments,Fragment,Navigation Drawer,我有一个导航抽屉,当我点击一个按钮时,我想转到另一个片段,在那里我无法访问导航抽屉和其他任何东西。我只想在左上角有一个黑色箭头,返回导航抽屉,里面有所有的碎片。 我尝试了一些东西,但没有像我希望的那样正常工作,导航器继续访问,并看到机器人布局一个比另一个 主碎片控制器 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = findViewById(R.id.toolbar);
DrawerLayout drawerLayout=findViewById(R.id.drawer);
NavigationView navigationView=findViewById(R.id.nav_view);
setSupportActionBar(toolbar);
appBarConfiguration= new AppBarConfiguration.Builder(R.id.nav_home,
R.id.nav_user_data,R.id.nav_join_group,
R.id.nav_user_groups,R.id.nav_search_documents)
.setDrawerLayout(drawerLayout).build();
navController = Navigation
.findNavController(this,R.id.nav_host_fragment);
NavigationUI.setupActionBarWithNavController(this,navController,appBarConfiguration);
NavigationUI.setupWithNavController(navigationView,navController);
}
@Override
public boolean onSupportNavigateUp() {
return NavigationUI.navigateUp(navController,appBarConfiguration)
|| super.onSupportNavigateUp();
}
我正在用ActionBar上的一个botton进行尝试,当我单击它时,它应该转到我的新片段(使用一个通用应用程序后退,但有一个后退按钮)你只需像其他人一样在
navigation.xml
文件中指定你的操作即可
它将自行更改汉堡图标,因为您在以下两行代码中将导航控制器与NavDrawer同步:
NavigationUI.setupActionBarWithNavController(this,navController,appBarConfiguration);
NavigationUI.setupWithNavController(navigationView,navController);
我们需要在navigation.xml(定义与片段和布局相关联的片段的文件)中添加一个片段,作为我们要去的片段。在片段中添加一个具有唯一id的操作,以及我们要去的地方。
对不起,我知道有点混乱。
导航
我们从那里开始
<fragment
android:id="@+id/nav_user_data"
android:name="com.example.androidapplication_reto2.project.activities.navigationfragments.SeeAndModifyUserDataFragment"
android:label="User Data"
tools:layout="@layout/fragment_see_and_modify_user_data"
>
<action
android:id="@+id/action_nav_user_data_to_nav_modify_data"
app:destination="@+id/nav_modify_data" />
</fragment>`
这是为了将导航添加到我菜单的其他项,不是吗?但我不会在导航视图中添加其他项目。我希望当我单击应用程序的一个特定按钮时,转到我无法访问导航视图的其他片段,如果我单击后退箭头,则返回到我的最后一个片段。如果使用导航库,则无所谓
<fragment
android:id="@+id/nav_modify_data"
android:name="com.example.androidapplication_reto2.project.activities.navigationfragments.ModifyUserDataFragment"
android:label="Modify User Data"
tools:layout="@layout/fragment_modify_user_data"
/>
Navigation.findNavController(getView()).navigate(R.id.action_nav_user_data_to_nav_modify_data);