Cursor groupsCursor = mDbHelper.fetchAllGroups();
startManagingCursor(groupsCursor);
String[] from = new String[] {GroupsDbAdapter.KEY_TITLE};
int[] to = new int[]{R.id.text1};
SimpleCursorAdapter groups = new SimpleCursorAdapter(this, R.layout.group_row,groupsCursor, from, to);
spinner.setAdapter(groups); //spinner에 db에 저장된 값 등록
이렇게 해서 spinner에 db에 저장된 text들이 나오게 되었습니다.
문제는 spinner를 선택하면 그 선택한 곳에 들어있는 text를 String변수에 넣고 출력하고 싶은데 잘안되네요.
우선은 spinner.setOnItemSelectedListener(this); 감지하게 했고
아이템 선택시
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
//String변수에 선택된 spinner아이템의 텍스트 값을 넣고싶습니다.(결국 db의 데이터중하나)
}
Log.e("test",spinner.getSelectedItem().toString());을 하면
로그에서 android.database.sqlite.SQLiteCursor@42d3e840값이 뜹니다.
선택한 스피너에서 텍스트를 못가져오는듯하는데 어떻게 가져올수 있을까요?
스피터에는 디비에 저장된 데이터가 보여지는 상황 입니다..
안드로이드를 매우 사랑하는!
커서어댑터의 경우 커서를 가지고 직접 찾아야 합니다.
Cursor cursor = spinner.getSelectedItem();
cursor.movePosition(pos);
String result = cursor.getString(cursor.getColumnIndex(필드명));
이런식으로 조회해 보세요.