OptionMenu没有出现

时间:2014-12-13 20:33:44

标签: android optionmenu

我正在学习Android开发。到目前为止,我已经创建了一个基本的应用程序,我想显示一个OptionMenu。我已经按照教程。 该菜单未出现在我的手机上。也许我忘记了什么?

我看过这篇文章: Option Menu does not appear in 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);
}

这是菜单代码

<?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>

我花了好几个小时。从头开始重写代码2次,但问题仍然存在。 一切都很好,除了菜单没有出现。 有什么问题?

2 个答案:

答案 0 :(得分:2)

并将app:showAsAction = never更改为app:showAsAction = ifRoom|withText,添加withText以允许用户长按项目并显示项目的目的,如果您的项目放入溢出,将显示文本。

答案 1 :(得分:2)

在菜单xml chnge的最后一行到

应用程式:showAsAction =&#34; ifRoom&#34;