T
TimWeiland
Neues Mitglied
- 1
Hallo zusammen,
ich hab in meiner App 12 Spinner mit jeweils denselben Antwortmöglichkeiten "A", "B" und "C". Ich möchte sowohl einen Zähler für die Anzahl auf wie vielen Spinnern etwas ausgewählt wurde, wie auch die Anzahl wie oft "A", "B" oder "C" ausgewählt wurde. Bislang habe ich das folgendermaßen gelöst:
Zusätzlich wird dann noch mit einer simplen Addition ausgerechnet wie oft halt entsprechend "A", "B" oder "C" vorkommen.
Mein Problem: Es muss eine elegantere Lösung dafür geben, denn wenn ich das auf alle 7 Activities mit jeweils 12 Spinnern übertrage habe ich insgesamt fast 100 Variablen, die ich mit Shared Preferences speichern müsste. Es gibt doch sicher eine Möglichkeit auszulesen wie oft A ausgewählt wurde usw. Also zumindest in einer Activity. Es wäre Prima wenn mir da jemand weiterhelfen könnte.
PS: Ich habe das bislang nur mit einem Spinner gemacht daher auch nur sowenig Code. Wäre ja überflüssige Arbeit, dass was ich nicht behalten möchte erstmal auf alle Spinner zu übertragen.
ich hab in meiner App 12 Spinner mit jeweils denselben Antwortmöglichkeiten "A", "B" und "C". Ich möchte sowohl einen Zähler für die Anzahl auf wie vielen Spinnern etwas ausgewählt wurde, wie auch die Anzahl wie oft "A", "B" oder "C" ausgewählt wurde. Bislang habe ich das folgendermaßen gelöst:
Code:
priorität4.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
value = adapterView.getItemAtPosition(i);
switch (i) {
case 0:
VP=0;
PCOUNTER.setText(String.valueOf(VP));
VA=0;
AACOUNTER.setText(String.valueOf(VA));
VB=0;
VC=0;
priorität4.setBackgroundColor(Color.WHITE);
break;
case 1:
VP=1;
PCOUNTER.setText(String.valueOf(VP));
VA=1;
AACOUNTER.setText(String.valueOf(VA));
VB=0;
VC=0;
priorität4.setBackgroundColor(Color.YELLOW);
break;
case 2:
VP=1;
PCOUNTER.setText(String.valueOf(VP));
VA=0;
AACOUNTER.setText(String.valueOf(VA));
VB=1;
VC=0;
priorität4.setBackgroundColor(Color.RED);
break;
case 3:
VP=1;
PCOUNTER.setText(String.valueOf(VP));
VA=0;
AACOUNTER.setText(String.valueOf(VA));
VB=0;
VC=1;
priorität4.setBackgroundColor(Color.GREEN);
break;
}
SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit();
editor.putInt("Priorität4", i);
editor.commit();
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
VP=0;
PCOUNTER.setText(String.valueOf(VP));
VA=0;
AACOUNTER.setText(String.valueOf(VA));
VB=0;
VC=0;
priorität4.setBackgroundColor(Color.WHITE);
}
});
Mein Problem: Es muss eine elegantere Lösung dafür geben, denn wenn ich das auf alle 7 Activities mit jeweils 12 Spinnern übertrage habe ich insgesamt fast 100 Variablen, die ich mit Shared Preferences speichern müsste. Es gibt doch sicher eine Möglichkeit auszulesen wie oft A ausgewählt wurde usw. Also zumindest in einer Activity. Es wäre Prima wenn mir da jemand weiterhelfen könnte.
PS: Ich habe das bislang nur mit einem Spinner gemacht daher auch nur sowenig Code. Wäre ja überflüssige Arbeit, dass was ich nicht behalten möchte erstmal auf alle Spinner zu übertragen.