Bewegen Sie den cursor zu der Zeile durch eine der Spalten
Nach dem Abfragen der Daten, die ich wollte, habe ich jetzt einen cursor halten Sie alle Daten, die dem Benutzer präsentiert in einem Listview.
Wenn ein Benutzer auf ein Element klickt, um Sie zu Bearbeiten, bewege ich den cursor in die richtige position cursor.moveToPosition(pos)
, von denen bekomme ich alle Artikel, die Informationen, die ich brauche: ID, Titel, Ordner oder nicht, Übergeordneten Ordner.
Nun, dass ich die ID des Übergeordneten Ordners, wie kann ich es verwenden, um den Titel des Elements-Ordner, so kann ich dem Benutzer zeigen, in welchen Ordner das Element derzeit in?
Ich kann nicht mit zu bewegen, um position, denn ich weiß nicht, die übergeordnete position, sondern nur seine ID.
Hier ist ein Beispiel der db.
ORDNER Spalte -> 0 = kein Ordner ist (false), 1 = ein Ordner (true)
ELTERN Spalte -> hält die ID seiner Ordner
ID TITLE FOLDER PARENT
1 folder1 1 0
2 item1 0 1
3 item2 0 1
4 folder2 1 1
5 item1 0 4
6 item2 0 4
7 folder3 1 4
8 item1 0 7
9 item2 0 7
Beispiel:
Benutzer bearbeitet werden item3. Bewege ich den cursor auf position 2 (ab 0). Ich bekomme item3 parent, die ID=1. Wie bekomme ich die TITEL von ID=1.
Hoffe, es ist klar genug 🙂
Danke!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie entweder Durchlaufen Sie die cursor erneut prüfen jede id, um zu sehen, wenn es 1 ist, und dann den Titel erhalten.
Oder Sie können eine neue Abfrage where id = 1.
(!cur.isAfterLast())
eher als(cur.isAfterLast() == false)
. Jedenfalls ist es gelöst das Problem, das ich hatte, das war nicht diese.Den Sie verwenden könnten:
Geben Sie den Wert in der Spalte "TITEL" in der Zeile, in der der cursor momentan zeigt.
In Ihrer Abfrage können Sie eine VERKNÜPFUNG zu Last der Eltern, die Titel wie in einer anderen Spalte in der Ergebnismenge, und später abrufen, ohne eine weitere Abfrage oder Durchlaufen der Rs one more time.