안드로이드 개발 질문/답변
(글 수 45,052)
seek = (SeekBar) findViewById(R.id.seek_guide);
seek.setMax(count-1);
seek.setOnSeekBarChangeListener(seekChage);
seek.setProgress(i); // 이부분이 i에 0이 초기에 셋팅됩니다
위처럼 0이 셋팅되면 아래 처럼 에러가 나네요 혹시 이에러 아시는지
모든 폰이 아니라 갤럭시S(원) 에서만나타나서요.
W/dalvikvm( 1698): threadid=1: thread exiting with uncaught exception (group=0x4001e578)
E/AndroidRuntime( 1698): FATAL EXCEPTION: main
E/AndroidRuntime( 1698): java.lang.StackOverflowError
E/AndroidRuntime( 1698): at android.widget.AbsSeekBar.onProgressRefresh(AbsSeekBar.java:175)
E/AndroidRuntime( 1698): at android.widget.SeekBar.onProgressRefresh(SeekBar.java:86)
E/AndroidRuntime( 1698): at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:507)
E/AndroidRuntime( 1698): at android.widget.ProgressBar.refreshProgress(ProgressBar.java:516)
E/AndroidRuntime( 1698): at android.widget.ProgressBar.setProgress(ProgressBar.java:569)
E/AndroidRuntime( 1698): at android.widget.ProgressBar.setProgress(ProgressBar.java:546)




갤럭시에서 나타나는 버그가 맞습니다.
http://www.androidpub.com/index.php?mid=android_dev_info&page=2&document_srl=1594269
요기에도 적어주셨네요.
onProgressChanged 에서의 setProgress는 사용하시면 저런 버그가 나타날텐데요... 무한루프에 빠집니다
onProgressChanged 안에서 setProgress를 호출하는 일이 없도록 프로그래밍을 하셔야 할 듯 합니다.