Java Android操作栏选项菜单显示问题

Java Android操作栏选项菜单显示问题,java,android,android-optionsmenu,Java,Android,Android Optionsmenu,好吧,我有个小问题,我真的不知道如何解决 因此,我有一个应用程序,我使用自己的风格作为一个动作栏 <resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat"> <item name="windowActionBar">false</item> <item na

好吧,我有个小问题,我真的不知道如何解决

因此,我有一个应用程序,我使用自己的风格作为一个动作栏

<resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
        <item name="windowActionModeOverlay">true</item>
        <item name="actionBarStyle">@style/AppTheme.ActionBar</item>
        <item name="android:textColorSecondary">@color/action_bar_bg</item>
    </style>

    <style name="AppTheme.ActionBar" parent="Widget.AppCompat.ActionBar">
        <item name="height">30dp</item>
        <item name="background">@color/action_bar_bg</item>
    </style>
</resources>
然后是菜单onCreate

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.menu_presense_status, menu);
}
然后是所选项目的处理程序

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            getActivity().getFragmentManager().popBackStackImmediate();
            break;

        case R.id.sortByStatus:
            if (null != mDataSource) {
                // update data list
                reloadData();
            }
            break;

        case R.id.sortByName:
            if (null != mDataSource) {
                // update data list
                reloadData();
            }
            break;

        case R.id.sortByCompany:
            if (null != mDataSource) {
                // update data list
                reloadData();
            }
            break;

        default:
            super.onOptionsItemSelected(item);
    }

    return true;
}
我真的不知道问题是从哪里来的,也不知道如何消除它,这样就不会发生这种情况。这发生在由我的主活动启动的片段中,这意味着我只有一个活动为不同的应用程序内任务生成不同的片段。
任何帮助或想法都将不胜感激。

我仍然不知道为什么通知栏会受到我所做的事情的影响,但是在这个视图中强制应用程序全屏显示可以解决问题,所以我想这是一个可以接受的解决方法

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getActivity().getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            getActivity().getFragmentManager().popBackStackImmediate();
            break;

        case R.id.sortByStatus:
            if (null != mDataSource) {
                // update data list
                reloadData();
            }
            break;

        case R.id.sortByName:
            if (null != mDataSource) {
                // update data list
                reloadData();
            }
            break;

        case R.id.sortByCompany:
            if (null != mDataSource) {
                // update data list
                reloadData();
            }
            break;

        default:
            super.onOptionsItemSelected(item);
    }

    return true;
}
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getActivity().getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}