基本上,我想返回数据库中的实际值,而不是当前指向的位置。从阅读中看,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值,我应该建立一个单独的方法来返回索引吗?对不起,如果这是狡猾的解释,我只是有点混乱!
如果您需要更多代码/更多信息让我知道,请提前感谢任何帮助我的人。
答案 0 :(得分:0)
光标是包含您信息的整个数据结构。假设您已执行查询并加载了游标,则需要使用其中一个游标函数来输出当前行。
在整个光标上运行toString()是您看到的输出。
关于我在网上看到的例子,我没有看到他们说回复mCursor ......他们只是说回来;
同时尝试以下方法:
mCursor.getString(mCursor.getColumnIndex("title"));
答案 1 :(得分:0)
mCursor.getString("title");
应该在游标中返回标题。
如果你想要索引,mCursor.getColumnIndex("title")
就足够了。