728x90
반응형
Spinner 위젯은 콤보박스라고 할 수 있다.. 아마 같은 거 일걸류
아무튼 아래 그림과 같은 위젯이다
dropdown형식으로 나타나는 리스트에서 아이템을 선택하는 형식으로 되어있다
spinner는 text만 설정할 수 있기 때문에 선택한 아이템에 대한 별도의 value를 지정하고싶다면 다른 방법을 사용한다
#HashMap<> 사용하기
HashMap은 Key, Value의 한 쌍으로 존재하는 데이터구조이다
Map interface에 기초하여 Hash테이블이 구성되어있다
이것을 사용하여 spinner에 숨겨진 value를 지정할 수 있다
1. HashMap 선언
화면에 보여줄 String형을 Key로 value를 Integer로 설정하였다
1 | private HashMap<String, Integer> map = new HashMap<String, Integer>(); | cs |
2. put() 메소드를 사용하여 데이터 삽입하기
위에서 선언한 hashmap 객체에 데이터를 삽입한다
1 | map.put(String var, int var); | cs |
3. Spinner 객체에 리스너 등록
spinner의 아이템을 클릭했을 시 실행될 리스너를 연결한다
이작없을 위해 익명클래스로 선언하거나 implements에 AdapterView.OnItemSelectedListener 를 추가한다
1 | spinner.setOnItemSelectedListener(this); | cs |
4. 선택된 아이템의 번호 가져오기
implement, override, getter, setter 등 생성하는 메뉴 단축키는 command+n이다
선택된 아이템의 번호를 get()으로 가져와 선언한 변수에 넣는다
1 2 3 4 | @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { farmSeq = map.get(spinner.getSelectedItem()); } | cs |
끝!
디버깅은 Log 함수를 사용한다
반응형
'Programming > Android' 카테고리의 다른 글
[안드로이드] Firebase Android upload Image with text(Firebase 이미지 텍스트 업로드) (0) | 2017.08.30 |
---|---|
[안드로이드] SharedPreferences란? 사용법 알아보기 (0) | 2017.07.24 |
[안드로이드] Actionbar vs Toolbar 차이점, 사용법 알아보기 (0) | 2017.07.20 |
[안드로이드] 개발할 때 유용한 사이트 (0) | 2017.07.11 |
[안드로이드] onNavigationItemSelected not called (호출 안됨) 문제 해결 (0) | 2017.05.07 |