2017-03-05 18 views
1

私の質問は人気のある質問です。私は多くの関連記事を読んで試しましたが、期待される結果、ショーメニューは実現しませんでした。私はそれのための適切な解決策を見つけていない。メニューがアクションバーに表示されない

私のアプリケーションはAndroidバージョン4.2.2で完全に動作します。 (バージョンコード17)私はGalaxy Duosの携帯電話で試してみました。

私はAndroidバージョン7,0(バージョンコード24)を使用しています ターゲットSDKのバージョンがなく、ターゲットSDKのバージョンが8,19,24,25で、さらに多くのバリエーションを試しました。ここ

-build.gradle

アンドロイド{ compileSdkVersion 25 buildToolsVersion '25 0.2' defaultConfig {アプリケーションID「com.my.mobile.appsのいくつかの関連する部分です。 MNB」 minSdkVersionが8 }}

-AndroidたManifest.xml

のandroid: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

はい、 'and'を 'android:title'の前に追加しています – rafsanahmad007

+0

minSdkVersionを11に変更した場合、メニュー項目は表示されますが、メインUIの内容は表示されません。 – Laszlo

関連する問題