안드로이드 개발 질문/답변
(글 수 45,052)
final Spinner com_sel_spi = (Spinner) findViewById(R.id.Info_com_sel); ArrayAdapter adapter = ArrayAdapter.createFromResource( this, R.array.comp, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); com_sel_spi.setAdapter(adapter); final String enter_comp = (String)com_sel_spi.getSelectedItem();
위와 같이 Spinner의 값을 enter_comp 값으로 가져와서 DB에 입력하려고 합니다.
mDbHelper.insertRow(enter_comp.toString());
이런식으로 DB에 넣으려고 하는데, 값을 선택하여 저장을 하여도 계속 처음 1번 값만 저장이 됩니다.
선택한 값이 초기화되어 저장이 되는건지, 아니면 아얘 선택이 안되는것인지.. ㅠ
어떤 방법을 사용해야 하는지 조언부탁드립니다. ㅠㅠ
2010.02.18 11:28:53
com_sel_spi.setOnItemSelectedListener(new OnItemSelectedListener(){
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3){
String index = com_sel_spi.getSelectedItemPosition();
}
public void onNothingSelected(AdapterView<?> arg0) {}
});
이 소스를 이용해서 하면 될것 같은데, 맞는건지요? 맞다면 예제로 하나 부탁드립니다. ㅠ
문제점 2. 스피너의 선택이 바뀔 때 enter_comp에 값을 넣어야 합니다. 즉 스피너에 itemselect이벤트에서 값을 주거나 다른(버튼 등) 곳에서 이벤트 발생 시 값을 변화시켜야 할 것입니다.