오늘도 공부
android,spinner에서 선택된 값 가져오기 본문
Android에서 Spinner를 사용하는 경우 Spinner에서 선택된 아이템을 가져오는 방법을 제시한다.
가장 간단한 String Array type을 기준으로 설명한다.
우선 Spinner에 Event Listener를 달자. (Event Listener를 다는 방법은 각자 원하는 방식으로~)
spinner.setOnItemSelectedListener(mOnItemSelectedListener); |
그리고 Event Listener를 정의한다.
/** * @brief OnItemSelectedListener - OnItemSeleted event listener */ private OnItemSelectedListener mOnItemSelectedListener = new OnItemSelectedListener() {
@Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { WLog.m(TAG, "onItemSelected() entered!!");
String selItem= (String)spinner.getSelectedItem(); Log.i(TAG, "Spinner selected item = "+selItem); }
@Override public void onNothingSelected(AdapterView<?> parent) { WLog.m(TAG, "onNothingSelected() entered!!"); } }; |
Activity가 활성화되고 Spinner가 onCreate(), onResume()에서 호출 되는 시점에서 onItemSelected() method를 호출하고 이 후는 User의 action으로 인해 Spinner에서 event가 발생했을 때 호출된다.
주의할 점은 Spinner의 ArrayItem type에 따라 getSelectedItem() method의 반환값이 다르다는 것이다. 즉 Object를 반환한다는 말이다. 이 말은 Item type에 따라 적절한 casting과 가공 과정이 필요할 수도 있다는 말이 된다.
예를 들면 Cusor의 반환이라면 다음과 같은 가공 처리 과정이 필요하다.
Cursor cursor = spinner.getSelectedItem(); cursor.movePosition(pos); String selItem = cursor.getString(cursor.getColumnIndex([Filed Name])); |
이상으로 Spinner에서 Item을 선택했을 때 해야 할 처리과정에 대한 설명을 마친다
'Android > Tip&Tech' 카테고리의 다른 글
Android task,stack,flag 자세한 설명 (0) | 2011.03.24 |
---|---|
ActvityGroup에서 Spinner 사용시 오류 발행할 때 해결방안 (0) | 2011.03.24 |
Custom Tab을 꾸며보자 (3) | 2011.03.23 |
스피너 외관확장관련 링크모음 (0) | 2011.03.23 |
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE) (0) | 2011.03.22 |