Hier ist meine bevorzugte Aktivität:
%Vor%Hier möchte ich eine Aktionsleiste mit Namenseinstellungen und eine Zurück-Schaltfläche nach Home
zeigenSie sollten ein paar Dinge tun:
Fügen Sie Ihrem onCreate von PreferenceActivity Folgendes hinzu:
%Vor%Überschreibt onOptionsItemSelected in PreferenceActivity:
%Vor% Ändern Sie das <activity>
-Tag im Manifest für Ihre PreferenceActivity so, dass es etwa so aussieht:
Setzen Sie abschließend android: launchMode="singleTop" in Ihr MainActivity <activity>
-Tag im Manifest:
Die Antwort, die Pooya gegeben hat, funktioniert nicht für eine Präferenz-Aktivität. Stattdessen erweitern Sie Ihre Klasse AppCompatActivity und verwenden Sie ein PreferenceFragment, um die Einstellung zu laden. Hier ist mein Code für Einstellungen:
%Vor%Legen Sie die Aktivität in Ihr AndroidManifest.XML:
%Vor%Und jetzt können Sie die Einstellungsaktivität mit einer Absicht in meiner Hauptaktivität (oder der anderen übergeordneten Aktivität) wie gewohnt starten:
%Vor%Ich benötigte in meinen Aktivitäten verschiedene Aktionsleistenmenüelemente, also habe ich meine MainActivity mit einem singleTop launchMode erstellt. Das war großartig, um die Aktionsleiste für meine Kinderaktivität einzurichten, aber sie hat meine Einstellungen ohne eine Aktionsleiste verlassen.
Am Ende bestand der Schlüssel darin, sicherzustellen, dass das MainActivity-Thema ein Elternteil von war Theme.AppCompat.Light.NoActionBar:
%Vor%und das SettingsActivity-Thema hatte die übergeordnete Theme.AppCompat.Light.DarkActionBar:
%Vor%In styles.xml
%Vor%Es gibt wahrscheinlich einen besseren Weg, es zu stylen, aber das funktioniert.
Vergessen Sie nicht, für alle anderen Leser Ihre SettingsActivity aus AppCompatPreferenceActivity abzuleiten:
EinstellungenActivity.java:
%Vor%okay. jetzt hast du immer noch Probleme damit. Ich habe eine einzigartige Lösung für dich, die zu 100% mit nur geringfügigen Änderungen funktioniert.
Erstellen Sie zuerst einen Stil für nur Einstellungsaktivitäten.
Hier ist mein Symbolleistenstil-Code.
%Vor%und hier ist meine stlyes.xml sieht wie
aus %Vor%ja. Sie haben bemerkt, dass ich doppelte Stile erstellt habe (appTheme und Toolbar_settings_style sind beide das gleiche Formatattribut) nur für settingsActivity. Es ist sehr wichtig, doppelte Stile zu erstellen.
Gehen Sie jetzt zu Ihrer settingsActivity und fügen Sie den folgenden Code in onCreate () ein.
%Vor%Nachdem ich den obigen Code platziert habe, sieht meine SettingsActivity wie
aus %Vor%Kommen wir nun zu einem wirklich wichtigen Teil. Gehe zur manifest.xml Datei und finde deine settingsActivity und füge unterhalb Code ein.
%Vor%Hier ist meine AndroidManifest.xml wie
aussieht %Vor%Dies ist alles was Sie brauchen, um die Toolbar auf settingsActivity anzuzeigen.
Tags und Links android android-actionbar preferenceactivity