2012-09-12 30 views
1

我有這樣的代碼創建菜單:選項菜單沒有出現在Android的

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
     super.onCreateOptionsMenu(menu); 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.tip_menu, menu); 
    return true; 

} 


@Override 
public boolean onOptionsItemSelected(MenuItem item) { 

    switch (item.getItemId()) { 
    case MNU_PREV: 
     animateTextViewsPrev(); 
     break; 

    case MNU_NEXT: 
     animateTextViewsNext(); 
     break; 
    } 

    return true; 
} 

和XML:

<?xml version="1.0" encoding="utf-8"?> 
    <menu xmlns:android="http://schemas.android.com/apk/res/android" > 
     <item android:id="@+id/prev_tip" android:title="@string/prevTip"></item> 
     <item android:id="@+id/next_tip" android:title="@string/nextTip"></item> 
    </menu> 

在Android 2.1系統菜單中的智能手機是可見的,但在其他手機惠普4.1.1是不可見的。 有人現在該如何解決它?

回答

4

你的目標Android是什麼,好知道,在Android 4.0的他們擁有重新設計的菜單佈局。

我想你是在調用onCreateOptionsMenu

在我的代碼我有缺失super.onCreateOptionsMenu(menu);

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

的最小的minSdkVersion是7和targetSdkVersion是15,是Android 2.1,我必須調用超不過我忘了粘貼它。 – Flip120

+0

您在代碼中調用了super.onCreateOptionsMenu? –

+0

是我的代碼是這樣的:'code'public布爾onCreateOptionsMenu(菜單菜單){ super.onCreateOptionsMenu(菜單); MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu,menu); 返回true; }'/ code' – Flip120

-4

它需要在Java中的ID! :)

0

您可以簡單地改變「targetSdkVersion」到在

1

我正在處理同樣的問題清單文件..閱讀一些查詢和文檔。希望這可以幫助你。

下面是一個菜單我的XML文件..

<item 
    android:id="@+id/action_send_feedback" 
    android:orderInCategory="100" 
    android:showAsAction="always" 
    android:title="@string/action_send_feedback"/> 

<item 
    android:id="@+id/action_share_app" 
    android:orderInCategory="100" 
    android:showAsAction="ifRoom" 
    android:title="@string/action_share_app" 
    android:icon="@drawable/ic_action_share" /> 

<item 
    android:id="@+id/action_rate_app" 
    android:orderInCategory="100" 
    android:showAsAction="never" 
    android:title="@string/action_rate_app"/> 

Java代碼在這裏..

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

對於具有選項按鈕Android手機(在電話底部)當按鈕被按下時,showAsAction =「never」的菜單項出現..否則會被正常操作欄選項菜單上顯示..

編號:http://developer.android.com/guide/topics/ui/menus.html#options-menu

+0

THX爲「Android手機具有選項按鈕(位於手機的底部)的菜單項是showAsAction =」從不「來當按鈕被按下..否則會被操作欄選項菜單上正常顯示。」 –