Schwierigkeiten mit Nachrichten-Zähler in ner App

  • Hallo erstmal,


    ich bin neu hier, deshalb bitte ich schon mal im Voraus um Verzeihung, wenn das Thema hier falsch eingestellt ist oder ich mich unverständlich ausdrücke.


    Ich habe ein Problem in meiner App:
    Es gibt dort einen Zähler der die Anzahl neuer Einträge anzeigen soll. Hat man einen Eintrag angesehen, soll der Zähler natürlich runterzählen. Das tut er auch bis man auf den Zurück-Button klickt und wieder auf die Übersichtsseite neuer Einträge kommt - da geht der Zähler dann wieder hoch.


    Kann mir jemand da vielleicht helfen oder nen Tipp geben, wie man das beheben kann? (Ich freu mich über Hilfe und Tipps ^^)


    Gruß

  • Tja, dazu müsste man wissen, wie Du 'neue Einträge' darstellst.
    Gibt es dafür einen Flag in deinem Datensatz/Objektbaum?

    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!«

  • naja es gibt einen call an den datensatz und dann erhalte ich ein xml mit den ganzen Kategorien der Einträge und zu jeder Kategorie einen Info mit ID der Suche und der Anzahl der neuen Einträge für die Suche


    es geht um eine Push-Nachrichten-Funktion und für die wird die Anzahl der neuen Push-Nachrichten angezeigt.

  • Implementierungsdetail. ;)
    Du musst Dir doch irgendwo/irgendwie/irgendwann vorhalten, welche Nachrichten bereits gelesen wurden.
    Also vorhalten im Sinne von 'über den App-Neustart hinaus'.
    Vor Allem, wenn die Nachrichten via Push Notification kommen, musst Du sie ja irgendwo persistieren – ansonsten sind sie ja mit Beenden der App verschwunden.


    Es liest sich so, als würde mit Eintreten in die Übersicht dieser Wert aus dem XML gelesen und dort nicht verändert – egal was Du in der Detailansicht machst.


    Ich sehe da auf Anhieb zwei Möglichkeiten.
    1) Du sicherst Dir die IDs aller gelesenen Einträge, beispielsweise in eine Datenbank. Dann errechnest Du die Anzahl ungelesener Nachrichten, indem Du sämtliche Nachrichten-IDs mit denen in der Datenbank vergleichst. Taucht nicht auf = ungelesen.
    2) Du sicherst Dir die kompletten Einträge, beispielsweise in eine Datenbank. Beim Import setzt Du einen Flag 'Gelesen' auf 'false' und sobald der Eintrag gelesen wurde, setzt Du ihn auf 'true'. Dann kannst Du die Anzahl der ungelesenen Datensätze mit einer Query 'select count() where gelesen = false' abfragen.
    Vermutlich gibt es noch mehr.

    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!«

  • hm, also das Problem ist nicht an die richtige zahl zu kommen, sondern eher darin die Zahl zu aktualisieren.


    Wenn man auf den Zurück Button klickt, wird die letzte Ansicht wieder angezeigt. Bevor dies passiert, wird eine Methode aufgerufen, in der man sagen kann, was sich geändert hat und neu gezeichnet werden soll.
    Die Methode wird auch aufgerufen und es wird dort auch die neue Zahl gesetzt, aber aus irgendeinem Grund wird trotzdem die alte Zahl angezeigt.


    Genauer kann ich das irgendwie nicht erklären...


    Aber danke schonmal für die Hilfe soweit - dann muss ich wohl noch ein bisschen drüber nachdenken.


    Vielen Dank!

  • Moin


    das komische ist ja, dass genau das gemacht wurde, also die anzahl neu setzen, wenns neu geladen wird, aber es wurde trotzdem die alte zahl angezeigt, warum auch immer...
    jetzt ham was anders gelöst.


    Aber danke für die Tipps und eure Hilfe!

Jetzt mitmachen!

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