Shared Preferences für den Checkboxstatus

  • Antworten:1
Tim Weiland
  • Forum-Beiträge: 1

31.08.2020, 12:40:00 via Website

Hallo zusammen,
wie auch viele andere hier bin ich aktuell dabei meine erste Android-App zu programmieren.
Bislang kam ich zu meiner eigenen Überraschung super klar, jedoch weiß ich mir an einer bestimmten Stelle nicht mehr zu helfen.
Ich denke für erfahrende Entwickler sollte es kein Problem darstellen. Denn es geht lediglich darum zu erreichen, dass der Status meiner Checkboxen gespeichert wird. Um die Anzahl der aktivierten Checkboxen zu speichern, nutze ich bislang Shared Preferences. Im Bestfall kann mir vielleicht jemand einen Vorschlag machen, wie ich die Shared Preferences erweitern kann damit der Checkbox-Status mitgespeichert wird.
LG Tim

public void onCheckboxClicked(View view) {
    boolean checked = ((CheckBox) view).isChecked() == false;

    boolean unchecked = ((CheckBox) view).isChecked() ==true;

    switch (view.getId()){
        case R.id.checkBox:
            if (checked) {
                cCounter--;
                textView7.setText(Integer.toString(cCounter));

            }

saveData();
}

    switch (view.getId()) {
        case R.id.checkBox:
            if (unchecked) {
                cCounter++;
                textView7.setText(Integer.toString(cCounter));

            }

saveData();

    }}
        public void saveData () {
        SharedPreferences sharedPreferences = getSharedPreferences(SHARED_PREFS, 
        MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();

        editor.putString(ANZAHL, textView7.getText().toString());

        editor.apply();

    }
    public void loadData() {
    SharedPreferences sharedPreferences = getSharedPreferences(SHARED_PREFS, 
    MODE_PRIVATE);
    text = sharedPreferences.getString(ANZAHL, "");

    }
    public void updateViews() {
        textView7.setText(text);

}}
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

31.08.2020, 13:16:55 via Website

Hallo Tim,
herzlich wilkommen hier im Forum :)



Du brauchst für jede CheckBox einen eindeutigen String Identifikation z.b. einen Namen.
Dann kannst du den Status jeder CheckBox auf deinem Layout auslesen und in die Shared Preferences schreiben.
Beim auslesen kannst du den gelesenen Status einfach wieder setzen.
Wichtig ist, dass die CheckBoxen eindeutig idntifizierbar sind.
Wie sieht dazu dein Layout der CheckBoxen aus?

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Kommentieren