2012-02-11 2 views
0

안드로이드에서 SQLiteDatabase에서 데이터를 가져 오려고 할 때 NullPointerException이 발생합니다. 나는 원시 쿼리에서 커서를 만들고, cur.getString (인덱스)를 호출하고있어, 그러나 이것은 NullPointerException이 결과 :SQLite cursor.getString() NullPointerException

SQLiteDatabase db = dbHelper.getReadableDatabase(); 
    Cursor cur = db.rawQuery("SELECT Campaign, sum(Score) AS Score, Player FROM Levels GROUP BY Campaign", null); 

    final int length = cur.getCount(); 
    names = new CampaignListItem[length]; 

    if (cur.moveToFirst()) { 
     int row = 0; 
     do { 
      names[row].name = cur.getString(0); <--NPE 
      names[row].score = cur.getInt(1); 
      names[row].player = cur.getString(2); 
      row++; 
     } while (cur.moveToLast()); 
    } 
    cur.close(); 
    db.close(); 

내가 cur을 기록하고 names 그러나이 Null이 될 것 같지 않습니다 . 내가 뭔가 잘못하고 있는거야?

답변

2

배열에 빌드 할 수 있지만 개체를 ​​추가하지 않기 때문에 배열에 CampaignListItem이 없습니다. 따라서 names [row]는 null입니다.

+0

이런, 어떻게 그럴 수 있었 겠어! 나는 내일 그것을 시험하고있다. – user717572