마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

데이터 베이스 와 연동해 스피너 구현

0 추천
public class schedule_input extends Activity implements OnItemSelectedListener {
public class TimeTable_DB {
 
}
ArrayList<String> arraylist;
private timeTable_DBHelper mTimetable_DBhelper;
private schedule_DBHelper mSchedule_DBHelper;
//EditText edit_subject, edit_memo, edit_title;
private Cursor mtime_Cursor, mSchedule_Cursor;
Spinner edit_subject;
EditText edit_title, edit_memo;
-
-
 
mSchedule_Cursor  = mTimetable_DBhelper.getMatchSubject();
arraylist = (ArrayList<String>) mSchedule_Cursor;
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_dropdown_item,arraylist ); 
// 스피너 속성
Spinner sp = (Spinner) this.findViewById(R.id.subject_name);
sp.setPrompt("골라봐"); // 스피너 제목
sp.setAdapter(adapter);
sp.setOnItemSelectedListener((OnItemSelectedListener) this);
여기서 뭐가 잘못된거죠? 중지가 되는대
 

 

wonbi (160 포인트) 님이 2013년 5월 29일 질문

1개의 답변

0 추천

자세한 정보가 없기에..mTimetable_DBhelper.getMatchSubject(); 에서 ArrayList를 반환한다고 가정하고 적습니다.

arraylist = (ArrayList<String>) mSchedule_Cursor;

=> arraylist.addAll(mSchedule_Cursor);

 

노예의집 (23,370 포인트) 님이 2013년 5월 29일 답변
아뇨 반환값은 커서잆니다.    public Cursor getMatchSubject(){
        Cursor c = mDB.rawQuery("SELECT SUBJECT FROM TimeTable", null);
        return c;
    }
그러면 Cursor에서 값을 뽑아내서 ArrayList에 저장하시면 되겠네요~
for문으로 Cursor데이터 개수만큼 ArrayList.add()로 저장하시면 됩니다.
...