Ich benutze Recycler-Ansicht, um Tabelleninhalte mit Filtern anzuzeigen, sortieren usw. Wenn ich ein neues Element hinzufügen, füge ich ein neues Element ein, frage die Datenbank nach dem neuen Cursor mit SELECT ab.Wie wird die Position der neuen Zeile in der Datenbank nach der Abfrage ausgewählt?
In der Recycler-Ansicht wird vorgeschlagen, dass ich in diesem Fall notifyItemInserted (int position) mit Position Bedeutung Position im Cursor des neuen Elements aufrufen soll.
Es gibt 2 Dinge, die ich weiß, was ich tun kann:
Cursor Iterierte und finden Position des Elements (Hexe ist vielleicht nicht die beste Idee, wenn meine Tabelle mit Zeilen verloren haben)
nicht notifyItemInserted, sondern notifyDataSetChanged und leben, ohne nette Animation (wie ein wilder)
Meine Frage ist, ist es möglich, eine sQL-Abfrage ausführen, die tun so etwas wie diese:
Frage, was ich
hinzufügen COLUMN_POSITION möge, die Ergebnisse der vorherigen Abfrage (im Speicher)
Abfrage des oben mit ausgewähltem COLUMN_POSITION wobei id = id neuen aufzählen Artikel.
einen Cursor mit Position Get
Bonus Fragen: gibt es andere Lösungen für dieses Problem? Wie finde ich eine neue Position, die ich im Cursor kenne?
Verwenden Sie 'CursorJoiner', um den Unterschied zwischen zwei' Cursor's zu sehen – pskink
Sie sollten dies als Antwort hinzufügen. Es ist jedoch nicht perfekt, da es erfordert, dass Cursor in aufsteigender Reihenfolge nach einem eindeutigen Schlüssel sortiert werden, den ich bereitstelle, aber es könnte das Beste sein, was ich sowieso bekomme. – st1hy