Chipgroup liefert falschen Wert für gewählten Chip

  • In meinem Fragment werden oben Chips dargstellt mit Kategorien und darunter eine Recyclerview mit Zutaten.
    Die Chips werden im Observer vom ViewModel dynamisch erstellt und zur Chipgroup hinzugefügt. Auf der Chipgroup liegt ein OnCheckedChangeListener welcher je nach gewählten Chip anhand des Namens die Recyclerview filtert und die zugehörigen Zutaten anzeigt.


    Das Problem besteht darin, dass wenn das Fragment verlassen und wieder neu geöffnet wird die Funktion mir eine falsche ID liefert, mit der ich nichts anfangen kann, da sie nicht in der Range der vorhandenen Chips liegt.


    Die ID verhält sich wie folgt:


    Erster Start des Fragments -> Chip wird gewählt -> ID: 1 (erstes Item gewählt) -> korrekt
    -> Verlassen des Fragments und wieder öffnen -> Chip geewählt -> ID: 10 (erstes Item gewählt) -> ... -> ID: 19.. -> ID:28 .. usw


    Irgendwie wird die ID immer um die Anzahl der vorhandenen Chips erhöht. Bei näherer Untersuchung wird die ID durch die Funktion "getResourceId(@StyleableRed int index, int defValue) ermittelt.


    Hat jemand eine ID wie ich sonst vorgehen kann um die Liste mit den Chips zu filtern oder das Problem zu beheben?



    Fragment Code:



    EDIT:
    Habe die Lösung gefunden. Die ID ist nicht zuverlässig, allerdings kann mit "chip.id" oder "chip.tag" eine Zusatzinfo mitgegeben werden, welche dann verwendet werden kann um enstprechend weiterzumache
    n

Jetzt mitmachen!

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