안드로이드 개발 질문/답변
(글 수 45,052)
ListView에 SimpleCursorAdapter를 연결하려고 하는데 생성하는 부분에서 자꾸 에러가 나네요.
이클립스 초보라 디버거를 봐도 무슨 에러인지 파악이 안됩니다.
뭐 프로세서가 예상치 않게 종료되었습니다 이렇게 뜨네요 ㅜㅜ
아래 굵은 줄에서 뭘 잘못한걸까요?
wl_word 는 테이블의 필드명입니다.
초보에게 도움 좀 주십시오~~ 굽신굽신 (_ _)
........
.........
SQLiteDataase db = mHelper.getWritableDatabase();
String Q = "SELECT * FROM wordlist WHERE wl_lang='" +
lang + "' ORDER BY wl_word;";
Cursor cursor = db.rawQuery(Q, null);
startManagingCursor(cursor);
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
android.R.layout.simple_list_item_1,
cursor, new String[]{"wl_word"},
new int[]{android.R.id.text1});
ListView list = (ListView)findViewById(R.id.list);
list.setAdapter(adapter);
2010.11.15 15:13:38
자문자답 ㅠㅠ
디버거 열라 보다 _id 란 말이 나와서 혹시나~ 해서 _id필드를 추가했더니 되네요 으.........SQLite는 무조건 _id 필드가 있어야 되나 보네요.
2010.11.15 15:59:29
SQLite보다는 CursorAdapter가 쓰기 때문에 그렇습니다.
SQLite 테이블 안에는 없어도 됩니다만 select할때 반드시 _id 필드를 포함해야 CursorAdapter에서 쓸수 있습니다.
SQLite 테이블 안에는 없어도 됩니다만 select할때 반드시 _id 필드를 포함해야 CursorAdapter에서 쓸수 있습니다.



