spinner 에서s setOnItemSelectedListener 되면 바로 선택된내용을 다이알로그 창으로 띄우고 싶은데 
잘안되는군요 .
문제는 setOnItemSelectedListener 는 onCreate 되면 spinner에서 기본으로 제일처음 아이템이 선택된상태기때문에 

액티비티가 실행되면 onItemSelected 때문에 바로 다이알로그창이 떠버립니다 .

setOnClickListener 나 setOnItemClickListener 는 logcat으로 보면 spinner 에서는 사용할수 없다고 에러가 뜨는군요 ;;

도와주세요 ㅠ_ㅠ


02-23 09:51:59.178: ERROR/AndroidRuntime(8851): Caused by: java.lang.RuntimeException: setOnItemClickListener cannot be used with a spinner.

02-23 09:48:53.108: ERROR/AndroidRuntime(8780): Caused by: java.lang.RuntimeException: Don't call setOnClickListener for an AdapterView. You probably want setOnItemClickListener instead

2010.02.23 16:45:16
휴우
굉장히 간단해 보이는데 직접 해보려니, 생각보다 어렵네요. 구글에서 지원하는 API 만으로는 이야기하신대로 잘 안되는거 같습니다.
정공법이 아닌 방법으로 두 가지 방법을  생각해 볼 수 있을 것 같습니다. 첫째는 단순하게 flag 값을 하나 지정하고, 최초로 onItemSelected가 호출 시에 해당 flag 값을 설정해주면 코드는 좀 지저분 해도 돌아갈 것 같습니다. 두번째로, Array Resource 에 비어있는 값을 나타내는 값을 가장 먼저 입력해 두고 (---select item---- 뭐 이런걸로..) 선택된 아이템이 그 아이템일 경우에는 show dialog 를 호출 하지 않도록 구현 할 수 도 있을 것 같습니다...

2010.02.23 18:04:05
지구정복단
음... 처음 방법이 제일 그럴듯하군요 ~!
두번째 방법은 셀렉티드 리스너이기 때문에 불가능 -ㅅ- ;;
스피너는 항상뭔가 선택되어있는 상태이더라구요 value는 비어있어도 id 는 선택된 상태인거 같아요 .
아이템 클릭리스너가 정답인거 같은데 스피너에서는 사용할수 없다니 ,..
ㅜ_ㅜ

2010.04.27 15:45:29
아즈라엘
젠장 스피너 사용시 onItemSeleted 가 배열 0 번째 값을 먼저 가지고 간다는 것을 확인하고 별짓 다 해도 안되어서 아에 처음에 들어가면 false값을 주고 그다음부터 true 값으로 처리 하였는데 여기까지 똑같군요.. 이 방법에도 문제가 있는데.. 첫번째 셀렉트를 0번지것을 하면 안된다는것입니다. 즉 처음에 시작하자 마자 0 번째 것을 선택되는것을 막아놨더니만.. 반듯이 틀린것을 먼저 선택해야 하는 현상이 있음..
스피너는 항상 틀린값을 선택하게 되어 있어서 그런지..ㅠㅠ
YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST