Beiträge von suamikim

    Hallo zusammen,


    ich habe eine Eingestllungs-Aktivität, welche von PreferenceActivity erbt. Diese besitzt einen Menü-Eintrag "Einstellungen zurücksetzen", um die Standard-Einstellungen, welche im XML-File definiert wurden, mittels

    Code
    getSharedPreferences(strPrefName, MODE_PRIVATE).edit().clear().commit();


    wiederherzustellen.


    Funktioniert soweit ganz gut, allerdings wird die Anzeige nicht automatisch aktualisiert, dh. es werden nach aufrufen des Menü-Eintrages weiterhin die vorhin eingestellten Werte angezeigt.
    Sobald die Aktivität verlassen und neu aufgerufen wird, werden auch die korrekten Standard-Werte angezeigt.


    Eine Möglichkeit, die ich im Internet gefunden habe, die Anzeige zu aktualisisieren, wäre, nach dem clear() einfach eine neue Activity zu starten:

    Code
    startActivity(getIntent());


    Funkioniert natürlich, allerdings mit dem unhübschen Nebeneffekt, dass somit der Einstellungedialog quasi 2mal offen ist, was sich folgendermaßen äußert:
    "Einstellungen zurücksetzen" wird aufgerufen -> Einstellungen-Aktivität geht "neu" auf (mit den korrekten Standard-Werten) -> Benutzer drückt auf "Zurück"-HW-Taste -> Die neue Einstellungen-Aktivität schließt sich (wie gewollt), allerdings ist man nun wieder in der Einstellungs-Aktivität (mit den "falschen" Werten), da diese ja nicht explizit geschlossen wurde...


    Welche Möglichkeiten hab ich nun?
    - Keine neue Aktivität öffnen und die Activity irgendwie anders zum refresh zwingen?
    - Eine neue Aktivität öffnen (wie oben beschrieben) und die alte irgendwie schließen, damit nach beenden der neuen Aktivität wieder gleich meine "Hauptaktivität" angezeigt wird?


    Danke, lg

    Hallo zusammen,


    sorry für sehr grundlegende Frage, aber irgendwie komme ich nicht weiter und brauche einen Denkanstoß:


    Ich bin noch recht frisch in der Java-Programmierung und habe soweit mitbekommen, dass es keine Call-By-Reference-Parameter gibt.
    Nun möchte ich aber eine Methode schreiben, die mir Daten zurückliefert.


    Nennen wir diese zB. OpenDatabase. Der Rückgabewert sollte bool sein (Öffnen der DB erfolgreich oder nicht).
    Nun hab ich mir in C++ bei einigen Dingen angewohnt, auch gleich automatisch einen Fehlertext zu generieren und diesen als Refernzparameter zu übermitteln.


    Sieht dann zB. so aus:

    Code
    bool OpenDatabase(CString dbName, CString dbPath, CString &errorText);
    ...
    // Main
    if (!OpenDatabase(dbName, dbPath, errorText))
      AfxMessageBox(errorText);


    Wie kann ich sowas in Java nun bewerkstelligen?


    Eine möglichkeit wäre natürlich, einfach einen String als Rückgabeparameter zu definieren statt des bools (Leerer String als Rückgabe bedeutet kein Fehler, ...).
    Diese Möglichkeit gefällt mir nur nicht sonderlich und ich würde gerne den bool als Rückgabeparameter behalten.


    Gibt es Alternativen? Wenn ja, welche?


    Danke, mfg
    mik