По сути, я хочу вернуть фактическое значение в базе данных, а не положение, на которое в данный момент указывается. Изучив это, метод getString, похоже, мне нужен, но, похоже, он не работает. Вот код:
public Cursor fetchNote(long rowId) throws SQLException {
Cursor mCursor =
mDb.query(true, DATABASE_TABLE, new String[] {KEY_TITLE}, KEY_ROWID + "=" + rowId, null,
null, null, null, null);
if (mCursor != null) {
mCursor.moveToFirst();
}
return mCursor;
Итак, это мой довольно стандартный запрос, который должен получить для меня результат (то есть позицию моего mCursor). Теперь скажите, что значением является «Фред», я хочу показать это в своем заявлении. Это код, который я имею в моей деятельности:
TextView currentName = (TextView) findViewById(R.id.currentName);
String me = myDatabaseHelper.fetchNote(1).toString();
currentName.setText(me);
Теперь, когда я запускаю это и нажимаю на кнопку, для которой есть прослушиватель, он показывает следующее android.database.sqlite.SQLiteCursor@44f78c00
, как я и ожидал, но я просто не могу заставить его показать мне проклятое значение. Я думаю, что мне нужно включить mCursor.getString(mCursor.getColumnIndex("title"));
или что-то в этом роде в мой запрос, но в данный момент он возвращает значение mCursor, есть ли отдельный метод, который я должен построить для возврата индекса? Извините, если это объяснимо, я просто в некотором замешательстве!
Если вам нужно больше кода / дополнительной информации, дайте мне знать, заранее спасибо всем, кто поможет мне с этим.