387 Stimmen

Wie erhalte ich die SharedPreferences von einer PreferenceActivity in Android?

Ich verwende eine PreferenceActivity, um einige Einstellungen für meine Anwendung anzuzeigen. Ich blase die Einstellungen über eine xml-Datei auf, so dass meine onCreate (und komplette Klasse Methoden) wie folgt aussieht:

public class FooActivity extends PreferenceActivity {
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        addPreferencesFromResource(R.xml.preference);
    }
}

Die Javadoc von PreferenceActivity PräferenzFragment stellt fest, dass

Diese Einstellungen werden automatisch in SharedPreferences gespeichert, wenn der Benutzer mit ihnen interagiert. Um eine Instanz von SharedPreferences abzurufen, die von der Einstellungshierarchie in dieser Aktivität verwendet wird, rufen Sie getDefaultSharedPreferences(Android.content.Context) mit einem Kontext aus demselben Paket wie diese Aktivität auf.

Aber wie bekomme ich den Namen der SharedPreference in einer anderen Activity? Ich kann nur aufrufen

getSharedPreferences(name, mode)

in der anderen Aktivität, aber ich brauche den Namen der SharedPreference, die von der PreferenceActivity verwendet wurde. Wie lautet der Name oder wie kann ich ihn abrufen?

0voto

Versuchen Sie folgenden Quellcode, der bei mir funktioniert hat

//Fetching id from shared preferences
    SharedPreferences sharedPreferences;
    sharedPreferences =getSharedPreferences(Constant.SHARED_PREF_NAME, Context.MODE_PRIVATE);
    getUserLogin = sharedPreferences.getString(Constant.ID_SHARED_PREF, "");

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X