2015-01-16 7 views
10

Ich habe dieses Problem geben sollte, aber die Sache ist, dass ich tun einen TitelMenüpunkte einen Titel

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:android="http://schemas.android.com/apk/res-auto" 
    xmlns:android="http://schemas.android.com/tools"> 
    <!-- Search, should appear as action button --> 
    <item 
    android:title="@string/action_search" 
    android:id="@+id/action_search" 
    android:icon="@drawable/ic_action_search" 
    android:showAsAction="ifRoom" /> 
    <item 
    android:title="@string/action_settings" 
    android:id="@+id/action_settings" 
    android:showAsAction="never" /> 
    </menu> 

in der Strings XML-Datei i die Saiten hat, schaltet das Programm auch die action_search und action_settings mit seinem String - Suche und Einstellungen.

+0

Was ist das Problem? Kannst du erklären, was du machen willst und eine Frage formulieren? –

+0

das Problem ist, dass das Programm sagt mir ive bekam einen Fehler, wo das user3703454

+0

können Sie diese Dinge xmlns: android = entfernen "http://schemas.android.com/apk/res-auto" xmlns: android = "http://schemas.android.com/tools" und sehen, was passiert –

Antwort

5

können Sie diese Dinge entfernen xmlns: android = "schemas.android.com/apk/res-auto"; xmlns: android = "schemas.android.com/tools";

finden Sie Goolge dev Beispielen hier http://developer.android.com/guide/topics/ui/menus.html

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/new_game" 
      android:icon="@drawable/ic_new_game" 
      android:title="@string/new_game" 
      android:showAsAction="ifRoom"/> 
    <item android:id="@+id/help" 
      android:icon="@drawable/ic_help" 
      android:title="@string/help" /> 
</menu> 
+2

Das ist genau das, was ich getan habe, so sieht es in meinem Code, auf die google dev beispiele, die sie die android geändert: showAsAction zu yourapp: showAsAction – user3703454

+0

Ändern der android: löst es – user3703454

+0

ok gut zu wissen! –

16

Nur einen falschen XML-Namespace zu folgen! Versuchen Sie mit:

<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
</menu> 

Und als G.T. vorgeschlagen, dass Sie (nur erforderlich, wenn Sie API < 11 unterstützen möchten) prüfen, mit appcompat auf der showAsAction Eigenschaft sollte:

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto"> 
    <item 
     android:id="@+id/item1" 
     android:icon="@drawable/ic_launcher" 
     app:showAsAction="ifRoom|withText" 
     android:title="@string/Add_New" /> 
</menu> 

Hinweis:

Die appcompat Bibliothek ist kompatibel mit einigen alten Android-Versionen (API 7+) die die Eigenschaft showAsAction nicht verarbeiten können, da sie nicht über die ActionBar (API < 11) verfügen.

+1

Dies sollte die akzeptierte Antwort sein! –

+0

Dies sollte die akzeptierte Antwort sein! – Yahya

1

Es braucht tatsächlich einen Namensraum, um den Prozess zu identifizieren.

<?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/action_shuffle" 
    android:icon="@drawable/android_music_player_rand" 
    android:orderInCategory="1" 
    app:showAsAction="always" 
    android:title="Shuffle" 
    android:onClick="shuffle"/> 
<item 
    android:id="@+id/action_end" 
    android:icon="@drawable/end" 
    android:orderInCategory="2" 
    app:showAsAction="always" 
    android:title="End" 
    android:onClick="end"/> 
</menu>