1

SQLite カーソル クエリを実行すると、結果の文字列が edittext に表示されません。

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();
}
4

1 に答える 1