2017-03-05 93 views
1

我的問題是一個受歡迎的問題,我閱讀並嘗試了很多相關的帖子,但我沒有意識到預期結果,顯示菜單。我還沒有找到一個合適的解決方案。菜單沒有顯示在操作欄上

我的應用程序在Android 4.2.2版上完美運行。 (版本代碼17)我在Galaxy Duos手機上試用過它。

我使用Android版本7,0(版本代碼24) 我嘗試了更多版本的目標SDK版本,其中包括8,19,24,25以及沒有目標SDK規範。

這裏是

-build.gradle一些相關部分

的Android { compileSdkVersion 25 buildToolsVersion '25 .0.2' defaultConfig { 的applicationID「com.my.mobile.apps。 MNB」 的minSdkVersion 8 } }

-Android的Manifest.xml

安卓的minSdkVersion = 「8」

-optionsmenu.xml

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:id="@+id/exit" 
    android:orderInCategory="102" 
    android:showAsAction="ifRoom|withText" 
    android:icon="@drawable/ic_menu_exit"> 
    android:title="@string/menuitem_exit"> 
</item> 
<item android:id="@+id/about" 
    android:orderInCategory="101" 
    android:showAsAction="ifRoom|withText" 
    android:icon="@drawable/ic_menu_info_details"> 
    android:title="@string/menuitem_about"> 
</item> 
</menu> 

-Main.java

public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.optionsmenu, menu); 
    return super.onCreateOptionsMenu(menu); 
} 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case R.id.about: 
      Intent intent = new Intent(); 
      intent.setClass(getApplicationContext(), Info.class); 
      startActivity(intent);  
      return true; 
     case R.id.exit: 
      Intent intentData = new Intent(); 
      intentData.putExtra("IS_EXIT", new Boolean(true)); 
      setResult(android.app.Activity.RESULT_OK, intentData);    
      finish(); 
      System.exit(1); 
      return true; 
     default: 
      return super.onOptionsItemSelected(item); 
    } 
} 

預先感謝您。

+0

您使用的片段? –

+0

不是我正在使用活動的片段。 – Laszlo

回答

0

存在的菜單項包圍了一個問題:

<?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/exit" 
    android:orderInCategory="102" 
    android:showAsAction="ifRoom|withText" 
    android:icon="@drawable/ic_menu_exit" 
    android:title="@string/menuitem_exit" /> //item not enclosed properly 

<item android:id="@+id/about" 
    android:orderInCategory="101" 
    android:showAsAction="ifRoom|withText" 
    android:icon="@drawable/ic_menu_info_details" 
    android:title="@string/menuitem_about" /> 
</menu> 

保持簡單:

@Override 
public boolean onPrepareOptionsMenu(final Menu menu) { 
    getMenuInflater().inflate(R.menu.optionsmenu, menu); 
    return super.onCreateOptionsMenu(menu); 
} 

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

嗨, 在我看來,「」是封閉它。 – Laszlo

+0

是的,但是你在'android:title'之前加了'>' – rafsanahmad007

+0

如果我將minSdkVersion更改爲11,那麼菜單項出現,但主UI的內容不是。 – Laszlo