基本的に、現在指している位置ではなく、データベース内の実際の値を返したいと考えています。これを読んでみると、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 の位置) を取得する必要があります。その値が「Fred」であるとしましょう。アプリケーションでそれを表示したいと思います。これは私の活動にあるコードです:
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 値を返しています。インデックスを返すために構築する必要がある別のメソッドはありますか? それが怪しげに説明されている場合は申し訳ありませんが、私はちょっと混乱しています!
より多くのコード/詳細情報が必要な場合は、お知らせください。これを手伝ってくれる人に事前に感謝します。