设置为始终显示的Android菜单项未显示

设置为始终显示的Android菜单项未显示,android,drop-down-menu,menu,android-actionbar,Android,Drop Down Menu,Menu,Android Actionbar,在Android中使用菜单项的app:showAsAction=“always”不会在操作栏中显示菜单项。相反,该项与具有app:showAsAction=“never”的菜单项一起显示在下拉列表中。代码如下: 菜单\u main.xml <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tool

在Android中使用菜单项的
app:showAsAction=“always”
不会在
操作栏中显示菜单项。相反,该项与具有
app:showAsAction=“never”
的菜单项一起显示在下拉列表中。代码如下:

菜单\u main.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="myAppID.MainActivity" >
<item android:id="@+id/action_one"
    android:title="One"
    app:showAsAction="always" />
<item android:id="@+id/action_two"
    android:title="Two"
    app:showAsAction="never" />
<item android:id="@+id/action_three"
    android:title="Three"
    app:showAsAction="never" />
</menu>
其他信息:我没有使用
AppCompat
。我注意到当使用
AppCompat
时,菜单项的行为是正确的


如果没有AppCompat,我如何修复此问题?

而不是app:showAsAction将其更改为android:showAsAction,如图所示:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto"
      xmlns:tools="http://schemas.android.com/tools"
      tools:context="myAppID.MainActivity" >
      <item android:id="@+id/action_one"
          android:title="One"
          android:icon="@drawable/your_icon"
          android:showAsAction="always" />
      <item android:id="@+id/action_two"
          android:title="Two"
          android:showAsAction="never" />
      <item android:id="@+id/action_three"
          android:title="Three"
          android:showAsAction="never" />
  </menu>


希望它能工作。

将其改为android:showAsAction,而不是app:showAsAction,如图所示:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto"
      xmlns:tools="http://schemas.android.com/tools"
      tools:context="myAppID.MainActivity" >
      <item android:id="@+id/action_one"
          android:title="One"
          android:icon="@drawable/your_icon"
          android:showAsAction="always" />
      <item android:id="@+id/action_two"
          android:title="Two"
          android:showAsAction="never" />
      <item android:id="@+id/action_three"
          android:title="Three"
          android:showAsAction="never" />
  </menu>


希望它能起作用。

你可以用这个方法

        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
        return true;
    }

    return super.onOptionsItemSelected(item);
}

你可以用这个方法

        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
        return true;
    }

    return super.onOptionsItemSelected(item);
}


您还需要一个图标。添加一个图标或设置
app:showAsAction=“always | withText”
@MohammadOmidvar不工作,@SusmitAgrawal不工作。您还需要一个图标。添加一个图标或设置
app:showAsAction=“always | withText”
@MohammadOmidvar不工作,@SusmitAgrawal不起作用。此答案与问题的关系如何?此答案与问题的关系如何?不幸的是,添加图标没有帮助。我已更新了问题。添加图标仍然不会在操作栏中显示菜单项。@Kamil而不是app:showAsAction使用android:showAsAction和tryYes这是有效的!我还需要在app-level build.gradle中添加
implementation'com.android.support:appcompat-v7:27.1.1'
。请更新您的答案,以便我可以接受。不幸的是,添加图标没有帮助。我已更新了问题。添加图标仍然不会在操作栏中显示菜单项。@Kamil而不是app:showAsAction使用android:showAsAction和tryYes这是有效的!我还需要在app-level build.gradle中添加
implementation'com.android.support:appcompat-v7:27.1.1'
。请更新您的答案,以便我可以接受。