2014-12-07 47 views
0

我的菜單沒有顯示在ActionBar(onCreateOptionsMenu)被正確調用。圖標和字符串都可用。該代碼在我的其他項目中工作正常。我使用android.support.v7.app.ActionBarActivity爲Android:MenuInflater不工作 - 菜單不顯示

<uses-sdk 
    android:minSdkVersion="11" 
    android:targetSdkVersion="21" /> 

代碼:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu items for use in the action bar 
    Log.i("onCreate", "menu"); 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.add, menu); 
    return super.onCreateOptionsMenu(menu); 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case R.id.action_add: 
      Intent addIntent = new Intent(this, RoomAddActivity.class); 
      startActivity(addIntent); 
     break; 
    } 

    return super.onOptionsItemSelected(item); 
} 

XML:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item 
     android:id="@+id/action_add" 
     android:icon="@drawable/ic_action_new" 
     android:showAsAction="always" 
     android:title="@string/action_add"/> 

</menu> 
+0

菜單XML應該有根菜單元素。請顯示整個菜單的XML文件。 – viduka 2014-12-07 19:00:31

+0

Ups,它以某種方式隱藏。更新。 – Chris 2014-12-07 19:22:15

+0

試試這個http://stackoverflow.com/questions/18386642/couldnt-show-items-with-appcompat-library – viduka 2014-12-07 20:06:27

回答

0

嘗試真正明確地返回:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu items for use in the action bar 
    Log.i("onCreate", "menu"); 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.add, menu); 
    super.onCreateOptionsMenu(menu); 
    return true; 
} 

更新
順便說一句,你沒有義務打電話給超級方法。至於我的經驗,沒有它就行得通。

+0

看到評論,問題解決了。 – Chris 2014-12-07 20:09:52