이번엔 콤보박스의 활용에 대해서 알아보겠습니다.
안드로이드에서는 콤보박스를 스피너라고 하네요.


우리는 2개의 스피너를 이용하여, 한개는 대학교를 선택하고, 다른 한개는 학과를 선택할겁니다.
보조 문구까지 하여, TextView, Spinner, (View-구분자), TextView, Spinner의 형태를 갖게끔 만들죠.

위에서 말했듯이, 2개의 TextView, 2개의 Spinner, 1개의 View로 레이아웃을 설정합니다.
여기서 2개의 Spinner의 문구를 위하여, 
"@string/dept_univ"와 "@string/dept_dept"를 필요로 하므로,
이 두개의 문구를 res->values 밑의 strings.xml에 추가해 줍니다.



또한, SPinner 밑에 들어갈 아이템 목록을 작성하기 위하여, arrays.xml 파일을 생성해야합니다.
아래와 같은 방법으로 xml파일을 생성합니다.



이제는 arrays.xml 파일 안에 2개의 Spinner에서 사용될 아이템 목록을 추가해줍니다.
"univ"라는 이름의 목록과 "dept"라는 이름의 목록을 생성하였습니다.


자. 이제 모든 준비가 마쳤습니다.
이를 자바 파일에서, Spinner를 찾아, 그 스피너에 목록을 연결해주는 작업만 하면 끝입니다.
여기서 Adapter라는 객체를 생성하여, 그 아탑터를 스피너에 연결해주는게 핵심이겠죠?^^


이제 실행된 모습을 보겠습니다.
이는 에뮬레이터에서 실행하여 나온 첫 화면입니다.


이는 학교목록을 선택하기위하여, 학교목록에 해당되는 Spinner를 클릭하였을때 나오는 화면입니다.

이는 학과목록을 선택하기위하여, 학과목록에 해당되는 Spinner를 클릭하였을때 나오는 화면입니다.


!!! 추가로 선택한 아이템들을 표현하고 싶을 때를 위하여 하나의 예제를 보이겠습니다.
원래 있던 레이아웃에서 버튼 하나를 추가하여, 그 확인 버튼을 클릭했을 때 화면에 하단에 
선택된 아이템들에 대한 결과가 나타나도록 하겠습니다.

이는 수정된 자바 파일입니다.
버튼을 찾아 그 버튼에 클릭에 대한 이벤트를 추가하였습니다.
이벤트 관련된 것은 추후에 다시 확인하겠습니다.
여기서 스피너의 'getSelectedItem()' 메소드를 통해 선택되어진 아이템을 가져옵니다.
그리고 Toast 메소드를 통해 하단에 표현해 보겠습니다.



이는 수정된 레이아웃을 화면에 표시한 모습입니다.
밑에 확인 버튼이 추가로 생겼죠?
앞서 얘기했듯이 저 확인 버튼을 클릭하면 밑에 문구가 나타날겁니다.
이제 확인해보죠~


자 이제 확인 결과를 눈으로 보실 수 있습니다.
하단에 '당신은 인하대학교 통계학과 학생입니다.'라는 문구가 나타났다가 사라질겁니다.
(저 인하대학교 통계학과 사람입니다^^)
우리가 만든 스피너를 통해 선택되어진 아이템을 가지고 오는 것 까지 해결되었습니다.



!!! 다음번엔 잠깐 소개되어진 이벤트 처리에 대하여 알아볼게요.
Posted by 리빗
YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST