2010-12-02 4 views
1

사운드를 재생하는 버튼을 클릭하면 표시되는 응용 프로그램에서 ProgressBar를 구현하려고했습니다.android의 Progress Bar

코딩을 완료했지만 런타임 예외가 발생하고 응용 프로그램이 시작되지 않습니다. 여기에 참조 용으로 코드를 게시하고 있습니다.

holder.imgPlaybtn.setOnClickListener(new View.OnClickListener() 
      { 

       public void onClick(View v) 
       { 
        ProgressDialog progressDialog; 
        OnClickListener myContext = this; 
        progressDialog = new ProgressDialog((Context) myContext); 
        progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); 
        progressDialog.setMessage("..."); 
        progressDialog.setCancelable(false); 

       } 
      }); 

로그 캣 출력은 다음과 같습니다

12-02 12:19:58.268: ERROR/AndroidRuntime(392): java.lang.ClassCastException: com.android.soundmachine.Switch2DataList$SoundMacHineAdapter$2 
12-02 12:19:58.268: ERROR/AndroidRuntime(392):  at com.android.soundmachine.Switch2DataList$SoundMacHineAdapter$2.onClick(Switch2DataList.java:1645) 
12-02 12:19:58.268: ERROR/AndroidRuntime(392):  at android.view.View.performClick(View.java:2364) 
12-02 12:19:58.268: ERROR/AndroidRuntime(392):  at android.view.View.onTouchEvent(View.java:4179) 
12-02 12:19:58.268: ERROR/AndroidRuntime(392):  at android.view.View.dispatchTouchEvent(View.java:3709) 
12-02 12:19:58.268: ERROR/AndroidRuntime(392):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
12-02 12:19:58.268: ERROR/AndroidRuntime(392):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
12-02 12:19:58.268: ERROR/AndroidRuntime(392):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
12-02 12:19:58.268: ERROR/AndroidRuntime(392):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
12-02 12:19:58.268: ERROR/AndroidRuntime(392):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
12-02 12:19:58.268: ERROR/AndroidRuntime(392):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
12-02 12:19:58.268: ERROR/AndroidRuntime(392):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
12-02 12:19:58.268: ERROR/AndroidRuntime(392):  at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1659) 
12-02 12:19:58.268: ERROR/AndroidRuntime(392):  at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107) 
12-02 12:19:58.268: ERROR/AndroidRuntime(392):  at android.app.Activity.dispatchTouchEvent(Activity.java:2061) 
12-02 12:19:58.268: ERROR/AndroidRuntime(392):  at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1643) 
12-02 12:19:58.268: ERROR/AndroidRuntime(392):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1691) 
12-02 12:19:58.268: ERROR/AndroidRuntime(392):  at android.os.Handler.dispatchMessage(Handler.java:99) 
12-02 12:19:58.268: ERROR/AndroidRuntime(392):  at android.os.Looper.loop(Looper.java:123) 
12-02 12:19:58.268: ERROR/AndroidRuntime(392):  at android.app.ActivityThread.main(ActivityThread.java:4363) 
12-02 12:19:58.268: ERROR/AndroidRuntime(392):  at java.lang.reflect.Method.invokeNative(Native Method) 
12-02 12:19:58.268: ERROR/AndroidRuntime(392):  at java.lang.reflect.Method.invoke(Method.java:521) 
12-02 12:19:58.268: ERROR/AndroidRuntime(392):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) 
12-02 12:19:58.268: ERROR/AndroidRuntime(392):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
12-02 12:19:58.268: ERROR/AndroidRuntime(392):  at dalvik.system.NativeStart.main(Native Method) 
12-02 12:19:58.287: INFO/Process(52): Sending signal. PID: 392 SIG: 3 
12-02 12:19:58.287: INFO/dalvikvm(392): threadid=7: reacting to signal 3 
12-02 12:19:58.287: ERROR/dalvikvm(392): Unable to open stack trace file '/data/anr/traces.txt': Permission denied 
12-02 12:20:05.098: DEBUG/dalvikvm(99): GC freed 2375 objects/139384 bytes in 81ms 
12-02 12:20:10.077: DEBUG/dalvikvm(212): GC freed 43 objects/2096 bytes in 58ms 

는 몸이 좀 도와 주시겠습니까?

감사합니다, 데이비드,

+0

예외가 발생하면 logcat 출력을 보내주십시오. – EboMike

답변

1

progressDialog = new ProgressDialog ((Context) myContext); , ProgressBar의 대화 상자를 표시하는

progressDialog = new ProgressDialog(v.getContext()); 

또한, 당신은 show() 메소드를 호출하는 것을 잊었다을 마지막에 아래 라인을 쓰기 :

progressDialog.show(); 
이 당신이 그것을 대신 사용할 수 있습니다, 잘못
0

해서 ProgressDialog = 새해서 ProgressDialog ((컨텍스트) myContext);

잘못되었습니다. 활동의 "this"대신 "myContext"를 사용합니다.