안드로이드 개발 질문/답변
(글 수 45,061)
안녕하세요.
app 개발중에 궁금한게 있어 질문 드립니다.
Spinner 컨트롤 구현시에
Spinner spin=(Spinner)findViewById(R.id.spinner);
spin.setPrompt("지역 선택");
ArrayAdapter<String> arrString=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, items);
arrString.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item);
spin.setAdapter(arrString);
spin.setOnItemSelectedListener(this);
위와 같이 구현 했는데요..
왜 항상 생성 되자 마자 onItemSelected 이 함수에 들어가는지 정말 궁금합니다.
화면이 나타나자 마자 항상 첫번째 아이템이 선택 된것처럼 이벤트가 일어납니다.
그리고 나서 정작 제가 첫번째 아이템을 선택하면 onItemSelected 함수로 들어 오지 않습니다...
도데체 이게 무슨일인지 모르겠습니다.
첫번째 아이템이 기본으로 선택 되어져 있고...
이건 Spinner 생성하자 마자 onItemSelected 함수로 들어가 뿌리고..ㅠㅠ
정작 제가 첫번째 아이템 선택 할땐 onItemSelected 함수에 안들어가고...
고수님들 답변 부탁드립니다.
Tweet
2010.08.05 21:29:15
스피너 특성을 좀 생각해보면 답이 나올거 같은데요...
스피너라는게 여러개 리스트 중에 선택된 하나만 겉에 보여지게 되잖아요
근데 맨 처음 생성하면 처음게 나오는데 그게 바로 처음을 선택한다는 이야기가 되겠죠.
선택했을때 안들어가 진다는것은 아마 처음게 선택된 상황에서
중복 선택이 안들어가는 상황이 될겁니다.
딴거 고르고 첫번째꺼 고르면 들어가 질거라 생각하구요.
Spinner를 더 자세히 봐야겠는데 문제의 핵심은 처음에 무조건 하나 선택된다... 그게 디폴트다...
바꾸는 방법이 있는지까지는 더 봐야겠네요.
저도 이 문제때문에 머리털 다 뽑힐지경입니다...답변아니라 죄송 -.- 해결되시면 꼭좀 알려주세요