Frage

Ich kann kein Optionsmenü in einem Fragment in ICs in einem Projekt angezeigt, das die Android-Support-V4.jar-Bibliothek verwendet. Ich teste an einem Galaxy Nexus -Mobilteil.

Wir verwenden die Aktionsleiste nicht und benötigen die App 2.2+ kompatibel. Wir sehen kein Optionsmenü in der Aktivität in ICs (die Fragmentaktivität unterstützt keine OnCreateOptionsmenu).

Ich kann Menüs in der vorherigen Version von Android arbeiten - ich habe das richtige Rahmen, um das Optionsmenü (wie unten) zu aktivieren, aber nichts zeigt in ICs. Wenn Sie den Code durchtrieben, wird die OnCreateOptionsmenu nicht aufgerufen. Kann jemand eine Lösung vorschlagen?

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;

public class SuperFragment extends Fragment {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        setHasOptionsMenu(true);
        super.onCreate(savedInstanceState);
    }

    @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        inflater.inflate(R.menu.display_options_actions, menu);
        super.onCreateOptionsMenu(menu, inflater);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch(item.getItemId()) {
            case R.id.menu_sign_in:
                break;
            case R.id.menu_sign_out:
                break;
        }
        return true;
    }
    // ...
}

Ziel -Betriebssystemversion in der Manifest -Datei:

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="14"/>
War es hilfreich?

Lösung

Entfernen android:targetSdkVersion="14" Vom Manifest ermöglicht die Optionsmenüschaltfläche erneut.

Dies liegt daran, dass ich ein Thema von hatte @android:style/Theme.Black.NoTitleBar In meinem Manifest angegeben - mit der Android: TargetsDKversion von 14, wird das Menü Optionen in das Menü Actionleiste eingefügt, im Gegensatz zur Optionsmenü -Schaltfläche in der Schaltflächenleiste am Ende des Bildschirms und das Thema entfernen die Aktivität Titel und die Action Bar.

Die Aktionsleiste kann entfernt werden, Obwohl ich nicht sicher bin, ob dies das Problem behebt, wenn ich es noch nicht zum Laufen bringen kann, ist es über die Versionen 2.2 - 4 kompatibel.

Andere Tipps

Ändern Sie einfach das Android: Targetsdkversion von "14" auf "10" (weniger als 11), und dieses Problem wird gelöst.

<uses-sdk android:minSdkVersion="3" 
      android:targetSdkVersion="10" />

Laut der Android -CDD ist das Cutoff für das neue Verhalten, das Optionmenü nicht anzuzeigen eine Menüschaltfläche in Ihrer App oder verwenden Sie eine Aktionsleiste). Beachten Sie, dass Sie die Ziel -Build -Version (Projekteigenschaften in Eclipse) nicht erhöhen müssen, um die Zieldkversion zu erhöhen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top