2017-11-02 2 views
-3

Ich bin Anfänger in Android. Ich versuche ein Menü für eine Trainingsanwendung zu erstellen. Ich weiß nicht, dass mein Menü nicht gedruckt wird.kann nicht Menü in Android

Ich habe ein einfaches Menü auf res/Menü/menu/home.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
tools:context="com.example.gon.myapplication.HomeActivity"> 
<item 
    android:id="@+id/action_settings" 
    android:orderInCategory="1" 
    android:title="@string/app_name" 
    app:showAsAction="always" /> 

und auf meine Tätigkeit versuche ich es

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.menu_home, menu); 
    return true; 
} 

ich etwas tun, um anzuzeigen falsch ? Danke für deine Hilfe.

+0

ändern app: showAsAction zu android: showAsAction = "ifRoom" –

+0

Fügen Sie die 'style.xml' Datei zuerst in Ihre' Werte' die 'Stile' – Xenolion

+0

Bearbeiten Sie Ihre Frage fügen Sie den' style.xml' Code! – Xenolion

Antwort

0

Stellen Sie zunächst sicher, dass Ihre Aktivität über eine Aktionsleiste oder eine Toolbar als Aktionsleiste verfügt.

Und verwenden Sie return super.onCreateOptionsMenu(menu); anstelle von return true;.

Verwenden Sie auch app:showAsAction="never" in Ihrem Menüelement.

+0

es repariert nichts, wenn ich dieses Attribut ändere – Mohamed

+0

Überprüfen Sie die bearbeitete Antwort. –

+0

es funktioniert immer noch nicht, ich erstelle ein neues Projekt, der Code war genau so, wie ich es vorher geschrieben habe und es funktioniert ich verstehe es nicht. – Mohamed

0

Versuchen Sie folgendes:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Add this line of code 
    super.onCreateOptionsMenu(menu); 

    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.menu_home, menu); 
    return true; 
} 

EDIT

in Ordnung, wenn Sie das Menü mit einem schließenden Tag zu schließen vergessen haben, dies zu tun:

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
tools:context="com.example.gon.myapplication.HomeActivity"> 
<item 
android:id="@+id/action_settings" 
android:orderInCategory="1" 
android:title="@string/app_name" 
app:showAsAction="always" /> 

//add this 

</menu> 

Wenn dies nicht Ihr Fehler ist, dann Ersetzen Sie Ihre XML-Datei durch diese

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    > 
<item 
android:id="@+id/action_settings" 
android:title="@string/app_name" 
/> 


</menu> 

und halte den Java-Code genau so, wie ich dir oben gesagt habe.

+0

ich versuche, aber es ändert nichts – Mohamed

+0

@Mohamed überprüfen Sie die bearbeitete Antwort –

+0

immer noch nicht funktioniert. – Mohamed