# Buttons zur Actionbar hinzufügen



## vik0809 (5. Mai 2014)

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


```
<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?


----------



## anti-held (5. Mai 2014)

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.


----------



## vik0809 (5. Mai 2014)

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?


----------



## anti-held (5. Mai 2014)

Natürlich musst du dann auch dieses Menü in deiner Activity anzeigen lassen.
Hierzu überschreibst du die folgende Methode


```
@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:


```
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch(item.getItemId())
    {
    case R.id.add_button:
        // TODO performed on add_button clicked
        break;
    }
    return true;
}
```


----------



## vik0809 (7. Mai 2014)

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: 

```
<?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: 

```
<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.


----------

