Buttons zur Actionbar hinzufügen

vik0809

Mitglied
Hallo,

Ich würde gerne einen neuen Button zur Actionbar hinzufügen. Doch immer wenn ich das über folgende Zeilen versuche, bekomme ich nur einen neuen Textreiter in dem Einstellungsmenü und kein neuer Button dargestellt

Java:
<item
        android:id="@+id/add_button"
        android:title="@string/hinzufuegen"
        android:icon="@drawable/ic_action_new"
        app:showAsAction="ifRoom"
/>

Könnt ihr mir da einen Rat geben?
 
Die showAsAction beschreibt, wie das Item angezeigt werden soll.
ifRoom bedeutet, dass der Text in der ActionBar angezeigt wird, wenn genug Platz ist.
Wenn du hier always einfügst, wird dir der Text in der ActionBar immer angezeigt.
 
Leider zeigt es mir auch mit always kein neues Symbol an. Muss ich noch etwas anderes an meinem Code ändern, damites mir das Symbol anzeigt. Oder reicht es die main.xml Datei im Menu Ordner zu ändern und das Icon in die drawable Ordner einzufügen?
 
Natürlich musst du dann auch dieses Menü in deiner Activity anzeigen lassen.
Hierzu überschreibst du die folgende Methode

Java:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater=getMenuInflater();
    inflater.inflate(R.menu.main, menu);
    return super.onCreateOptionsMenu(menu);
}

Um die Clicks auf die Items zu handeln musst du dann diese Methode überschreiben:

Java:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch(item.getItemId())
    {
    case R.id.add_button:
        // TODO performed on add_button clicked
        break;
    }
    return true;
}
 
ok vielen Dank. Hat super geklappt. Ich habe nun ein Hinzufüge - Button und ein Such - Button.

Nun möchte ich gerne die Suche implementieren. Dazu bin ich bisher nach folgender Anleitung vorgegangen: Creating a Search Interface | Android Developers.

Ich möchte kein Search - Widget verwenden, da die Anwendung auch auf älteren Modellen funktionieren soll

Ich habe hierzu eine neue xml - Datei namens suchfeld.xml abgelegt mit folgendem Inhalt:
Java:
<?xml version="1.0" encoding="utf-8"?>

<searchable
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:hint="@string/suche"
   android:label="@string/suche">
</searchable>

In der AndroidManifest.xml Datei habe ich folgendes hinzugefügt:
Java:
<activity 
            android:name=".Suchfeld">
            <intent-filter>
                <action 
                    android:name="android.intent.action.SEARCH"/>
                    
            </intent-filter>
            <meta-data 
                android:name="Suchfeld"
                android:resource="@xml/suchfeld"/>
        </activity>
        <activity 
            android:name=".SucheDurchfuehren">
            <meta-data android:name="suchfeld"
                android:value=".Suchfeld"/>
        </activity>

Bei der eigentlichen Implementierung habe ich meine größten Schwierigkeiten. Die Android Developer Seite schreibt etwas von der Methode onSearchRequested() jedoch bin ich noch nicht dahinter gekommen, was ich für diese Methode implementieren muss.
 

Neue Themen


Zurück
Oben