Android 从片段导航回主活动时,Actionbar未显示在主活动中
我正在我的应用程序中使用导航抽屉,我有一个工具栏,并使用以下代码在我的主要活动的ActionBar中设置它:Android 从片段导航回主活动时,Actionbar未显示在主活动中,android,android-fragments,android-actionbar,android-toolbar,onbackpressed,Android,Android Fragments,Android Actionbar,Android Toolbar,Onbackpressed,我正在我的应用程序中使用导航抽屉,我有一个工具栏,并使用以下代码在我的主要活动的ActionBar中设置它: setSupportActionBar(mMainActivityToolbar); // on back button press mBinding.toolbar.setNavigationOnClickListener(v -> { ((AppCompatActivity) getActivity()).getSupportActionBar().show();
setSupportActionBar(mMainActivityToolbar);
// on back button press
mBinding.toolbar.setNavigationOnClickListener(v -> {
((AppCompatActivity) getActivity()).getSupportActionBar().show();
((MainActivity) getActivity()).setActionBarTitle("MainActivity");
getActivity().onBackPressed();
});
// set up navigation icon
((AppCompatActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
我在片段中使用了不同的工具栏,并使用下面的代码从片段中设置了工具栏:
((AppCompatActivity) getActivity()).getSupportActionBar().hide();
((AppCompatActivity) getActivity()).setSupportActionBar(mBinding.fragmentToolbar);
我使用以下代码设置了“后退/主页”按钮“单击侦听器”:
setSupportActionBar(mMainActivityToolbar);
// on back button press
mBinding.toolbar.setNavigationOnClickListener(v -> {
((AppCompatActivity) getActivity()).getSupportActionBar().show();
((MainActivity) getActivity()).setActionBarTitle("MainActivity");
getActivity().onBackPressed();
});
// set up navigation icon
((AppCompatActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
问题是,当我从片段中点击操作栏上的后退按钮时,我会从后退中弹出片段,但主活动操作栏没有显示。是否应再次将主活动的工具栏设置为操作栏?
当我使用上述代码时,应用程序没有崩溃,但actionbar没有显示您是否在
片段
内的actionbar
中更改了任何内容?您能提供一些示例吗?我在片段中使用了CollasingToolbarLayout,而在主工具栏中使用了普通工具栏activity@azizbekian他肯定是在更改片段中的操作栏。通过隐藏第一个并设置另一个。那么,为什么会有旧的。如果阿比德·汗的假设是正确的,它肯定会在碎片中设置新的。@Durga,如果阿比德·汗的假设是正确的,你必须再次手动设置ActionBar(当你的碎片被关闭时)。@Durga你必须在碎片poup上设置旧的。请记住,片段还使用了main活动的
上下文。