Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.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 选项菜单不显示_Android_Optionmenu - Fatal编程技术网

Android 选项菜单不显示

Android 选项菜单不显示,android,optionmenu,Android,Optionmenu,我正在学习Android开发。到目前为止,我已经创建了一个基本的应用程序,我想显示一个选项菜单。我遵循了一个教程。 菜单没有出现在我的手机上。也许我忘了什么 我看过这篇文章: 但我的问题似乎不同 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setHasOptionsMenu(true); } @Override public bool

我正在学习Android开发。到目前为止,我已经创建了一个基本的应用程序,我想显示一个选项菜单。我遵循了一个教程。 菜单没有出现在我的手机上。也许我忘了什么

我看过这篇文章: 但我的问题似乎不同

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setHasOptionsMenu(true);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    if (id == R.id.action_refresh) {
        FetchWeatherTask weatherTask = new FetchWeatherTask();
        weatherTask.execute();
        return true;
    }
    return super.onOptionsItemSelected(item);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.forecastfragment, menu);
}
这是菜单的代码 我花了几个小时。从头重写代码2次,但问题仍然存在。 除了菜单没有出现外,一切正常。
问题是什么?

并将app:showAsAction=never更改为app:showAsAction=ifRoom | with text,add with text允许用户长按项目并显示项目的用途,如果您的项目被放入溢出,文本将改为显示。

并将app:showasaaction=never更改为app:showasaaction=ifRoom | with text,add with text允许用户长按项目并显示项目的用途,如果您的项目被放入溢出,文本也将改为显示。

在菜单xml的最后一行更改为


app:showAsAction=ifRoom

在菜单中更改最后一行



app:showAsAction=ifRoom

错误:30、20错误:ForecastFragment中的onCreateBundle无法覆盖片段中的onCreateBundle返回类型Boolean与void不兼容,这是我收到的消息。请参阅我的更新答案,要获取菜单充气器,请调用活动类的getMenuInflater。OP的代码在片段中。您所指的OnCreateOptions菜单方法是Activity类的成员。我的错,他没有在问题中说明,尽管我没有意识到我的类扩展片段很重要。错误:30,20错误:ForecastFragment中的onCreateBundle无法覆盖片段中的onCreateBundle返回类型Boolean与void不兼容,是我收到的消息。请参阅我的更新答案,要获取菜单充气器,请调用活动类的getMenuInflater。OP的代码在一个片段中。您所指的OnCreateOptions菜单方法是Activity类的成员。我的错,他没有在问题中陈述它,尽管我没有意识到我的类扩展片段很重要。如果您的类扩展片段,那么您可以重写正确的函数,知道它现在出现了。为什么以前没有出现?我还尝试将其更改为“始终”。为什么它似乎出现在一些没有ifRoom的设备上?对不起,我不明白这个问题,但你们可以在android文档中看到更多关于action bar的内容谢谢你们@Vigen,我现在开始阅读它。我还有最后一个问题要问你。当我点击按钮时,它应该会使应用程序崩溃,因为安全性异常,但它不会。我是否应该得出这样的结论:在我的情况下,单击按钮没有任何作用?您可以调试代码以了解单击是否有效。您还可以设置toast或登录选项ItemSelected函数,如toast.makeTextgetActivity,单击1000.show;若你们的类扩展了这个片段,那个么你们就重写了现在出现的右函数sok。为什么以前没有出现?我还尝试将其更改为“始终”。为什么它似乎出现在一些没有ifRoom的设备上?对不起,我不明白这个问题,但你们可以在android文档中看到更多关于action bar的内容谢谢你们@Vigen,我现在开始阅读它。我还有最后一个问题要问你。当我点击按钮时,它应该会使应用程序崩溃,因为安全性异常,但它不会。我是否应该得出这样的结论:在我的情况下,单击按钮没有任何作用?您可以调试代码以了解单击是否有效。您还可以设置toast或登录选项ItemSelected函数,如toast.makeTextgetActivity,单击1000.show;
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item android:id="@+id/action_refresh"
        android:title="@string/action_refresh"
        app:showAsAction="never" />
</menu>