2012-08-30 4 views
0

내 질문은 : moveToFirst()NullPointerException을 던집니까?Cursor.moveToFirst() 및 nullpointerexception

사용해야합니까 :

if (cursor != null) { 
    if (cursor.moveToFirst()) { 
     // TODO 
    } 
} 

또는 단지를 :

당신은 안드로이드 CursorSQLiteDatabase 클래스를 사용하는 것 같습니다
if (cursor.moveToFirst()) { 
    // TODO 
} 
+0

put what 'cursor'가 도움이 될 것입니다 – Sieryuu

+0

나는 sqlite 쿼리에서'cursor'를 얻습니다. 이것은 0 레코드를 반환 할 수 있습니다. – Aprian

+0

커서가 0을 반환하면'moveToFirst()'는 에러가 아니지만'moveToFirst'를 호출하면 null을 반환합니다. – Sieryuu

답변

3

호출 커서 moveToFirst()하지 않습니다 오류가 발생 cursornull 경우를 제외하고.

4

. 그렇다면 cursor은 절대로 null이되지 않습니다. (NullPointerException에 대해 걱정할 필요가 없습니다.) 이 될 수 있지만 cursor.moveToFirst()은이 경우 false을 반환합니다. 당신은 사용 안전 :

if (cursor.moveToFirst()) { 
    // TODO 
} 

또는 둘 이상의 행에 대한

:

while (cursor.moveToNext()) { 
    // TODO 
} 
+0

'null'을 반환하는 것은 내 잘못입니다. – Aprian