1 回答
TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超3個(gè)贊
cursor.getColumnIndex(...)只返回行的列索引。要獲取該列中的值,您有以下幾種選擇:
如果事先知道數(shù)據(jù)類型,則可以直接調(diào)用
cursor. 例如,如果該列DBHelper.KEY_NAME包含String,我們可以直接使用查詢該列中的值cursor.getString(cursor.getColumnIndex(DBHelper.KEY_NAME))如果不這樣做,您可以嘗試調(diào)用
cursor.getType(int columnIndex)以獲取基礎(chǔ)類型,然后根據(jù)返回值在游標(biāo)上調(diào)用適當(dāng)?shù)姆椒ā?/p>
簡而言之,代碼的問題在于您獲取的是列索引( getColumnIndex) 而不是列值(getFloat、getInt等getString):
...
int idIndex = cursor.getColumnIndex(DBHelper.KEY_ID);
int nameIndex = cursor.getColumnIndex(DBHelper.KEY_NAME);
int hourIndex = cursor.getColumnIndex(DBHelper.KEY_HOUR);
int dateIndex = cursor.getColumnIndex(DBHelper.KEY_DATE);
String name = cursor.getString(nameIndex);
String hour = cursor.getString(hourIndex);
String date = cursor.getString(dateIndex);
...
添加回答
舉報(bào)
