Ich habe Cursor wie folgt initialisiert:Fehler: Stellen Sie sicher, dass der Cursor korrekt initialisiert ist, bevor Sie auf Daten zugreifen.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//...Code, code, code...
c = db.query("US_States", null, null, null, null, null, null, null);
}
Der Cursor sich in einem separaten Verfahren innerhalb der gleichen Aktivität verwendet wird:
public void GameStart()
{
int gameCount = 0;
while(gameCount < 5)
{
cursorEntry = new Random().nextInt(c.getCount());
c.moveToPosition(cursorEntry);
cursorState = c.getString(1);
cursorCapital = c.getString(2);
displayText.setText(cursorState);
Es gibt mir die folgende Fehlermeldung:
E/CursorWindow﹕ Failed to read row 20, column 2 from a CursorWindow which has 50 rows, 2 columns.
Mit einem Stack-Trace auf dieser Linie cursorCapital = c.getString(2);
jedes Mal, wenn ich die Anwendung erneut ausführen. Es gibt immer einen Fehler dort.
Die Datenbank etwas wie folgt aus:
State|Capital
Alabama|Montgomery
Alaska|Juneau
Arizona|Phoenix
...The rest of the states
las ich ein paar ähnliche Beiträge auf SO, aber sie haben mich nicht eine Vorstellung davon, was schief läuft. Jede Eingabe wird geschätzt.
Das ist mein Problem gelöst. Vielen Dank. Wusste nicht, dass es Spalten von 0 zählt. – user3081519
welcome @ user3081519, froh zu helfen –