3 Stimmen

Static SharedPreferences

Ich habe zwei Methoden in einer Aktivität

private void save(String tag, final boolean isChecked)
{
    SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit();

    editor.putBoolean(tag, isChecked);
    editor.commit();
}

private boolean load(String tag) {
    SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE);
    return sharedPreferences.getBoolean(tag, false);

}

und ich möchte die Last statisch machen, um die Werte der Last von einer anderen statischen Methode innerhalb derselben Aktivität abzurufen. Wenn ich jedoch versuche, die Load-Methode statisch zu machen, erhalte ich natürlich eine Fehlermeldung wegen einer nicht-statischen Referenz. Wie kann ich dies bewerkstelligen?

Ich habe dies versucht Zugriff auf SharedPreferences über statische Methoden aber ohne Erfolg.

Für jede Hilfe wären wir dankbar!

5voto

loopj Punkte 1579

Sie können speichern und laden von Application -weiten gemeinsamen Einstellungen anstelle der privaten Einstellungen des Activity :

private static boolean load(String tag) {
    SharedPreferences sharedPreferences = Context.getApplicationContext().getSharedPreferences("namespace", Context.MODE_PRIVATE);
    return sharedPreferences.getBoolean(tag, false);
}

Wenn Sie dies tun, stellen Sie sicher, dass Sie auch Speicherung von die Präferenzen auf die gleiche Weise (durch Verwendung von Context.getApplicationContext().getSharedPreferences )

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