Zeile 1, Spalte -1 von CursorWindow konnte nicht gelesen werden. Stellen Sie sicher, dass der Cursor korrekt initialisiert ist, bevor Sie auf Daten zugreifen

8

Ich implementiere eine ExpandableListView und für jede Gruppe werden die childs und jedes Kind mit seiner eigenen Dauer angezeigt, und die Gruppe zeigt die Summe aller durations der childs.

Wenn ich jedoch auf ein Kind klicke, wird der Fehler angezeigt:

  

Zeile 1, Spalte -1 von CursorWindow konnte nicht gelesen werden. Stellen Sie sicher, dass der Cursor initialisiert ist   korrekt vor dem Zugriff auf Daten von ihm.

Und ich rufe nicht die Methode setOnChildClickListener auf. Und selbst wenn ich es anrufe, wenn ich auf das Kind klicke, hört es nicht auf, wenn ich einen Haltepunkt setze.

Das ist das Problem, ich kann nicht finden, wo der Fehler ist, da der Stacktrace nicht auf die Klassen meines Projekts zeigt, sondern auf die Klasse der Android-Native. Ich habe versucht, in jedem Teil meines Codes Haltepunkte zu setzen, aber wenn ich auf ein Kind klicke, wird keiner der Haltepunkte erreicht.

Übrigens verwende ich das ViewHolder -Muster, um mit den Ansichten umzugehen, und der Adapter ist ein CursorTreeAdapter

Hier ist mein Code - und der vollständige Stack-Trace ist am Ende :

%Vor%

Vollständiger Stacktrace

%Vor%     
rogcg 22.07.2012, 20:05
quelle

3 Antworten

8

Wie @Jens im Kommentar erwähnt hat:

  

Sucht es nach einer Zeilenkennung (z. B. BaseColumns # _ID) und findet sie nicht im Cursor? Welche Spalten verwenden Sie in mContactsCursor - Sie haben die Zeilen-ID nicht vergessen?

In allen Abfragen muss die Spalte _id angegeben werden. Dies hat den Fehler verursacht, nachdem ich die Spalte _id zur Abfrage hinzugefügt habe, hat es funktioniert.

    
rogcg 22.07.2012, 21:29
quelle
2

Wir könnten diesen Fehler sogar bekommen, selbst wenn wir _ID haben. Dies tritt auf, wenn wir in der Abfrage den falschen field_name angegeben haben oder den field_name in der Absicht oder wo auch immer verwendet übergeben haben.

    
Swathi Rao 09.01.2013 06:25
quelle
0

Wenn Sie ContentProvider zum Abfragen verwenden, müssen Sie PROJECTION

mindestens _id hinzufügen     
macio.Jun 28.11.2013 15:08
quelle