2013-07-14 64 views
0

做的isNull時我已經在我的Android應用程序中的DAO計算策略,數據庫對象轉換爲Java對象有類似的東西:刪除logcat的CursorWindow錯誤在Android

public void populateObjectWithCursor(Cursor cursor) { 
     if(!cursor.isNull(cursor.getColumnIndex(Const.USER_ID))) 
      this.id = cursor.getLong(cursor.getColumnIndex(Const.USER_ID)); 
} 

但是當參考isNull無法訪問列,它示出了在logcat的錯誤:

E/CursorWindow:無法由具有1行,2列的CursorWindow 讀行0,列-1。

我想騎上這個,你知道它是否可能嗎?沒有發現任何異常處理呢?

謝謝

回答

1

的誤差來,因爲getColumnIndex(String name)方法返回-1列索引getLong(int columnName)。當提供的列名不存在時,該方法返回-1作爲索引。因此,使用getColumnName(int columnIndex)方法&使用適當的返回列名替代Const.USER_ID中的getColumnIndex(String columnName)方法來檢查列名。這應該可以解決這個錯誤。

+0

感謝您的迴應,像我之前編輯的文章一樣會解決我的問題。 – Bibu

+0

您的第二種方法解決了錯誤嗎?如果是這樣,請從問題中刪除答案。 –

+0

對於下一個感興趣的人(感謝@Osama):public void populateObjectWithCursor(Cursor cursor){ \t \t int rowNumber = cursor.getColumnCount(); \t \t對(INT I = 0;我 Bibu