2012-07-30 176 views
2

我想爲我的android應用程序添加一個選項菜單。我創建瞭如下的my_menu.xml文件。按下菜單按鈕時不會出現android選項菜單

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:id="@+id/play" android:title="Play" android:icon="@android:drawable/ic_media_play"/> 
<item android:id="@+id/comments" android:title="Comments" android:icon="@android:drawable/ic_menu_edit"/> 
</menu> 

然後我重寫了我的java文件中的onCreateOptionsMenu()方法,如下所示。

public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.my_menu, menu); 
    return true; 
    } 

當我運行的應用程序,然後點擊菜單按鈕,它不會出現任何東西。 任何人都可以給我一個解決這個問題的想法。

+0

您使用哪個api級別? getMenuInflater()之前的super.onCreateOptionsMenu(菜單); – 2012-07-30 11:26:43

+0

LolCat輸出會非常有幫助。 – 2012-07-30 11:31:50

+0

API等級是15 – sashmarsh 2012-07-30 11:57:05

回答

0

你用過這段代碼嗎?

@Override 
    public void onCreateContextMenu(ContextMenu menu, View v, 
      ContextMenuInfo menuInfo) { 
     // TODO Auto-generated method stub 
     super.onCreateContextMenu(menu, v, menuInfo); 
    } 

我想加入這可能會有所幫助。

0

您必須刪除第一行:

<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/play" android:title="Play" android:icon="@android:drawable/ic_media_play"/> 
    <item android:id="@+id/comments" android:title="Comments" android:icon="@android:drawable/ic_menu_edit"/> 
</menu> 

在組合:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.my_menu, menu); 
    return true; 
} 

工作正常,我的設備上

<?xml version="1.0" encoding="utf-8"?> 

這一個。

+0

:你在哪個API級別測試過這個? – sashmarsh 2012-07-30 13:45:27

+0

15 - 這是從我的清單 '<使用-SDK機器人:的minSdkVersion =「15」機器人:targetSdkVersion =「15」 />' – 2012-07-30 13:47:35

+0

如果使用的10及下一個targetSdkVersion,必須使用兼容包。通過SDK管理器下載樣本,並在這裏查看'samples \ android - * \ ActionBarCompat',其中*是api級別。嘗試下載15或16 – 2012-07-30 13:50:52