Hintergrundfarbe als globale Variable

  • Antworten:2
  • Bentwortet
Roland K.
  • Forum-Beiträge: 2

27.07.2016, 17:38:48 via Website

Hallo an Alle,

ich habe das Forum durchsucht, konnte allerdings keinen passenden Thread finden.
Ich habe folgendes Problem:

Ich schreibe zurzeit an einer App welche verschiedene Berechnungen für Kameraeinstellungen übernimmt. Die Oberfläche ist sehr einfach aufgebaut. Ich möchte aber sehr gerne über die Menü-Taste verschiedene Einstellungen wie Hintergrundfarbe und Schriftart machen. Im Moment drücke ich auf Menü und kann dann den Reiter Einstellung öffnen. Dann erstelle ich ein neues Fragment "Einstellung" und kann dort über Spinner die gewünschte Farbe auswählen. Mit getter- und setter-Methoden speichere ich dies in der MainActivity. Mit einem druck auf Speichern (Button) beende ich das Fragment. Jetzt ist allerdings das Problem, dass immer wieder der Konstruktor der MainActivity startet und die Standardfarbe auswählt.

Ich dachte, dass die MainActivity die ganze Zeit über aktiv ist und läuft und nicht jedesmal neu startet.

Mache ich etwas falsch? Wie könnte ich so etwas realisieren, dass ich über globale Variablen Grundeinstellungen speichere?
Hat jemand ein Beispielprojekt?

Vielen Dank schon mal und fragt bitte wenn etwas unklar ist.

Gruß Roland

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

27.07.2016, 17:46:38 via Website

Hallo Roland,
Herzlich wilkomen hier im Forum :)



Bitte bedenke beim benutzen von Variablen zum speichern eines: Variablen speichern nur Temporär, solange diese noch benutzt werden und nicht vom GC gelöscht.
Ich an deiner stelle würde mir die Werte/Farben oder was auch immer in den SharedPreferences speichern, das ist bei Android Einstellungen der gängigste Weg.
In der Main kannst du die Einstellungen lesen und verarbeite z.b. eine andere Farbe setzen etc.

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

Roland K.

Antworten
Roland K.
  • Forum-Beiträge: 2

27.07.2016, 21:15:36 via Website

Hallo Pascal,

vielen Dank für deine Antwort. Diese war genau richtig! Das geht ja einfacher als gedacht =)
Ich werde es morgen einbinden und dann den Thread (Falls keine Fragen mehr auftauchen) als beantwortet setzen.

Gruß Roland

Pascal P.

Antworten