2013-08-16 7 views
5

Ich habe eine einfache Anwendung.onCreateOptionsMenu heißt nicht

Hier ist MyActivity.java

public class MyActivity extends Activity { 
    /** 
    * Called when the activity is first created. 
    */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     return super.onCreateOptionsMenu(menu); 
    } 
} 

Und ich verstehe nicht wirklich, warum Methode onCreateOptionsMenu am Telefon genannt wird und nicht auf Tablette genannt?

+0

Wenn das Tablet eine Menütaste hat, müssen Sie den Hardware-Menüschlüssel verwenden – DevZer0

+2

Wie lauten die API-Levels (Android-Versionen) Ihrer Geräte? Ich wette, Ihr Telefon hat <11, während Ihr Tablet 11+ ist – bofredo

+1

API> = 11 Anzeige Optionsmenü in actionbar. Entfernen Sie das Thema aus dem Manifest, das die Aktionsleiste dort versteckt. –

Antwort

5

Wenn Sie ToolBar verwenden:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_map); 
    mToolbar = (Toolbar) findViewById(R.id.tool_bar); 
    setSupportActionBar(mToolbar); 
} 
1

Wenn Ihre Aktivität von Aktivitätsklasse erstreckt, wird versuchen, es zu AppCompatActivity ändern.