/ / Spinner in ActionBar wird nicht angezeigt - Android, Android-Layout, Android-Actionbar, Android-Spinner

Spinner in ActionBar erscheint nicht - Android, Android-Layout, Android-Actionbar, Android-Spinner

Ich habe Spinner wie gemacht Hier . Und jetzt möchte ich Spinner in ActionBar platzieren (Spinner als CustomView auf ActionBar setzen), aber er erscheint dort nicht :(

Spinner spinner = (Spinner) findViewById(R.id.planets_spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.planets_array, android.R.layout.simple_spinner_item);

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

spinner.setAdapter(adapter);

actionBar.setCustomView(spinner);

und hier ist .XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:baselineAligned="false"
android:orientation="vertical" >

<FrameLayout
android:id="@+id/parkfragment"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />

<Spinner
android:id="@+id/planets_spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />

</LinearLayout>

Bitte, schlagen Sie nicht vor, ActionBar DropDown List zu verwenden, ich kann es nicht verwenden, da ich bereits ActionBar Tabs verwende. Android erlaubt es nicht, beide gleichzeitig zu verwenden. Jede Hilfe wird geschätzt

Antworten:

6 für die Antwort № 1

Dein Code fehlt in dieser Zeile:

actionBar.setDisplayShowCustomEnabled(true);

Sehen ActionBar#setDisplayShowCustomEnabled(boolean showCustom) als Referenz.


Aktualisieren:

Warum ist es leer? FrameLayout in Ihrem Layout, das die ganze Breite und Höhe einnimmt? Entfernen Sie es. Und entferne die LinearLayout, auch. Benutze das einfach als Layout:

<?xml version="1.0" encoding="utf-8"?>
<Spinner xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/planets_spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />

Und dann schreibe so etwas und alles ist in Ordnung:

actionBar.setCustomView(R.layout.your_layout_with_the_spinner);
actionBar.setDisplayShowCustomEnabled(true);

Spinner spinner = (Spinner) findViewById(R.id.planets_spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.planets_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);