android - android 中的进度条

标签 android button progress-bar

我尝试在我的应用程序中实现 ProgressBar,当我单击播放声音的 Button 时它会显示。

我已完成编码,但出现运行时异常并且应用程序未启动。 在这里我发布我的代码以供引用。

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);

                }
            });

Logcat 输出是:

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

任何人都可以帮助我吗?

谢谢, 大卫,

最佳答案

progressDialog = new ProgressDialog((上下文) myContext); 这是错误的,你可以用它代替:

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

还有,你忘了调用show()方法来显示进度条对话框,在最后写下一行:

progressDialog.show();

关于android - android 中的进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4332413/

相关文章:

android - 无法在 Android 上更改单选按钮颜色

jquery - Ajax 请求的 Pace.js(进度条)不起作用

jquery对齐进度条

javascript - React Bootstrap - 如何在值增加但重置为 0% 时不为 ProgressBar 设置动画?

button - 快速将按钮连接到方法不起作用

android - R.java不可修改

android - 通过 Google Goggles 裁剪图片

java - Libgdx gradle 项目编译失败

java - 尝试在 android 中通过 JSONarray 验证密码

javascript - JQuery按钮点击不注册