Spinner mit Daten aus SharedPreferences füllen

  • Hallo zusammen,


    ich möchte gerne einen Spinner mit Daten aus der SharedPreferences (ListPreferences) füllen, sprich in der ListPreference gebe ich einen Wert vor und dieser wird im Spinner meiner Activity übernommen und angezeigt.


    Hat zufällig jemand eine Seite oder downloadbares Beispiel für mich wo ich mir das näher anschauen kann?


    Hinweis! Ich suche nur nach einem Beispiel mit der ListPreference.... und nichts weiteres.... die Beispiele bei Google & Co. sind alle noch mit Checkboxen oder TextViews usw..


    Vielen Dank!


    Gruß Katsche

  • So ganz verstehe ich die Frage nicht.
    Deinen Spinner füllst du mit einem SpinnerAdapter.
    Woher der seine Daten nimmt bestimmst du selbst.

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • Moin,


    den Spinner in meiner Activity mit Daten füllen sowie die ListPreference mit Daten füllen bekomme ich jeweils getrennt voneinander hin jedoch das verbinden untereinander bereitet mit probleme und daher suche ich ein einfaches, schnelles und sicheres Beispiel wo ich mir das anschauen kann.

  • Also mit deiner ListPreference schreibst du doch Daten in deine SharedPreferences. Das musst du tun, geht gar nicht anders.
    Mit deinem Spinner möchtest du Daten aus deinen SharedPreferences lesen. Du kannst und sollst das gar nicht untereinander verbinden, da es komplett unabhängig voneinander ist.


    Das nennt sich MVC – Model-View-Controller – und ist ein sogenanntes Entwurfsmuster in der Softwareentwicklung.


    Model: deine SharedPreferences Daten (1 Modell)
    View: deine Anzeigen, also ListPreference und Spinner (2 Views)
    Controller: der Code, der Modell und Anzeigen verbindet, also meinetwegen PreferencesActivity und MainActivity (2 Controller)


    Du füllst deine ListPreference ja mit Vorgaben, die du dir ausgedacht hast (ein eigenes Modell, dass aber ausschließlich in der PreferencesActivity vorkommt).
    Natürlich musst du deine ListPreference so gestalten, dass man dort eine bestimmte Sache auswählen kann.


    Diese bestimmte Sache publizierst du dann an deine SharedPreferences.
    Irgendwie so:

    Java
    SharedPreferences pref = getSharedPreferences("MyApplicationPreferences", Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = pref.edit();
    editor.putString("IndentifierKey", "PreferenceValue");
    editor.commit();


    Damit hat ein Controller mit Daten aus dem View auf das Modell schreibend zugegriffen.


    Für deinen Spinner rufst du dann dieselben Preferences auf und liest die Daten aus.
    Ungefähr so:

    Java
    SharedPreferences pref = getSharedPreferences("MyApplicationPreferences", Context.MODE_PRIVATE);
    String preferenceValue = pref.getString("IndentifierKey", "DefaultStringValue");


    Damit hat dein Controller Daten aus dem Modell gelesen und in das View geschrieben.

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • Auf Grundlage von http://rwblinn.de/ und der App-Bücherverwaltung ist es mir "gelungen" den Wert aus der SharedPreferences an einen Spinner zu übergeben jedoch beim erneutem öffnen der App hatte ich mir erhofft, dass der gesetzte Wert weiterhin gespeichert bleibt. In dem Downloadlink mein Beispiel mit der Bitte das mir jemand sagt wo ich was verändern muss das auch nach dem schliessen und wieder öffnen der App der Wert aus der SharedPreferences gesetzt ist.


    http://www.uploadarea.de/uploa…gajznmm17kzf9xebnlet.html


    Gruß Katsche

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!