Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从片段导航回主活动时,Actionbar未显示在主活动中_Android_Android Fragments_Android Actionbar_Android Toolbar_Onbackpressed - Fatal编程技术网

Android 从片段导航回主活动时,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();

我正在我的应用程序中使用导航抽屉,我有一个工具栏,并使用以下代码在我的主要活动的ActionBar中设置它:

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活动的
上下文。