Android操作栏菜单项

时间:2014-03-18 08:15:28

标签: android

我想显示一个菜单项'刷新'在动作栏中(始终显示)。其他两个菜单项'退出'和'帮助'仅在按下菜单项时显示。我的菜单xml文件是

list.xml

   <item
    android:id="@+id/action_refresh"
    android:title="@string/refresh"
    android:icon="@drawable/ic_action_refresh"
    android:showAsAction="always"/>

<item 
    android:id="@+id/logout"
    android:title="@string/logout"
    android:showAsAction="never"
    />
 <item 
    android:id="@+id/help"
    android:title="@string/help"
    android:showAsAction="never"
    />

问题是,当我按下菜单按钮时,它会显示“帮助”按钮。并且&#39;退出&#39;选项。但是,当我按下菜单按钮时,它会被添加,即在操作栏上显示两个刷新按钮,在按下菜单上显示两个注销和帮助按钮。当我按下菜单按钮时,它会倍增。请帮帮我!

我的onCreateOptions:

public boolean onOptionsItemSelected(MenuItem item) {

      switch (item.getItemId()) {
      case R.id.action_refresh:
                refreshing();
                break;
        case R.id.logout:
                logOutActivity();
                break;
        case R.id.help:
                helpActivity();
                break;
      }
      return false;       
      }

在我的应用程序中,当单击一个复选框时,我会显示另一个菜单,因此我使用了onPrepareOptionsMenu

@Override
    public boolean onCreateOptionsMenu(Menu menu) {


    return true;

}

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    if(buttonChecked==true)
    {
        getMenuInflater().inflate(R.menu.listmenu, menu);
    }
    else
    {
        getMenuInflater().inflate(R.menu.list, menu);

    }
    return super.onPrepareOptionsMenu(menu);
}

1 个答案:

答案 0 :(得分:0)

你的错误在这一行。返回你的菜单。

return super.onPrepareOptionsMenu(menu);