안드로이드 개발 질문/답변
(글 수 45,052)
리소스를 만들어서 스피너를 사용할 때는 아래처럼 잘 동작 하였습니다. 하지만 이러한 방법은
추가/삭제가 불가능해서
분류를 DB에 저장하고, DB 내용과 스피너와 연동해서 사용하려고 했습니다.
그래서 sqlite DB를 만들고 스피너와 어렵게 연결은 했습니다. 그런데...아래와 같이 깔끔한 UI를 만들어 지지 않습니다.
도와 주십시오.
dbAdapter = new NotesDbAdapter(this);
dbAdapter.open();
Cursor c = dbAdapter.fetchfield_duplication_Notes();
startManagingCursor(c);
spin.setOnItemSelectedListener(this);
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="category">
<item>통합포인트</item>
<item>외식/커피</item>
<item>통신</item>
</string-array>
</resources>
여기까지 리소스를 이용해서 깔끔한 UI를 구현한 방법이였고...
아래는 DB에 저장된 내용을 스피너와 연결한 내용입니다. 막~ 이것저것 보면서 어렵게 한거라. 잘 만든건지 모르겠습니다.
//모든 데이터의 커서를 얻어옴
Cursor c = dbAdapter.fetchAllNotes_category();
// Base 클래스에게 Cursor의 라이프사이클을 관리시킴
startManagingCursor(c);
//리스트뷰에 데이터베이스의 저장된 데이터를 연결
String[] from = new String[] {BaseColumns._ID, NotesDbAdapter.KEY_CATEGORYNAME};
int[] to = new int[] { R.id._id, R.id.CategoryName_text };
mAdapter= new SimpleCursorAdapter(this, R.layout.note_row_categoryname, c, from, to);
mAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spin.setAdapter(mAdapter);
이렇게 구현하니...DB에 있는 내용을 스피너로 클릭할 수 있습니다. 하지만 아래와 같이 이상하게 나타납니다.
아무 것도 보이지는 않지만...그래도 DB에 있는 내용이 순서대로 배열되어 있습니다.
layout 을 설정해줘야 할 것 같은데....도통 감을 못 잡겠습니다.
고수님의 만은 답변 부탁드립니다...
감사합니다.



