안드로이드 개발 질문/답변
(글 수 45,052)
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 를 호출 하지 않도록 구현 할 수 도 있을 것 같습니다...