当我运行 SQLite 游标查询时,它无法在编辑文本中显示结果字符串。
它失败并显示 Logcat 消息:
java.lang.RuntimeException: Unable to start activity
android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 1
如何从光标中获取查询结果值字符串并在edittext中显示?
public class Books extends Activity implements OnClickListener {
private BooksData books;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.books);
books = new BooksData(this);
}
SQLiteDatabase db1 = books.getReadableDatabase();
SEARCH_TERM = "math";
EditText edittext = (EditText) findViewById(R.id.edittext1);
// Get the value from TITLE when the TOPIC value is specified, ie such as "math".
Cursor cursor_2 = db1.query(TABLE_NAME, new String[] {"_id", "TOPIC", "TITLE"}, "TOPIC = ?", new String[]{ ""+SEARCH_TERM+"" }, null, null, null, null);
String TEMP_DATA = cursor_2.getString(2);
edittext.setText(TEMP_DATA);
books.close();
cursor_2.close();
}