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 |