Android 具有不确定可绘制的自定义ProgressDialog不工作
我有一个定制的ProgressDialog,其中一个定制的drawable在异步任务的预执行时被调用,如下所示Android 具有不确定可绘制的自定义ProgressDialog不工作,android,Android,我有一个定制的ProgressDialog,其中一个定制的drawable在异步任务的预执行时被调用,如下所示 private ProgressDialog progressDialog = new ProgressDialog(BNMlogin.this); @Override protected void onPreExecute() { progressDialog.setMessage("Authenticating Credentials...
private ProgressDialog progressDialog = new ProgressDialog(BNMlogin.this);
@Override
protected void onPreExecute() {
progressDialog.setMessage("Authenticating Credentials....");
progressDialog.setIndeterminate(true);
progressDialog.setIndeterminateDrawable(getResources().getDrawable(R.drawable.progress_dialog_icon_drawable_animation));
progressDialog.show();
}
可绘制列表是一个动画列表
它崩溃了,出现了以下错误
11-27 15:30:43.439:E/AndroidRuntime(24834):位于java.lang.reflect.Constructor.newInstance(Constructor.java:417)
11-27 15:30:43.439:E/AndroidRuntime(24834):在android.view.LayoutInflater.createView(LayoutInflater.java:594)
11-27 15:30:43.439:E/AndroidRuntime(24834):由以下原因引起:android.content.res.Resources$NotFoundException:资源不是可绘制的(颜色或路径):TypedValue{t=0x2/d=0x7f01006a a=-1}
11-27 15:30:43.439:E/AndroidRuntime(24834):在android.content.res.Resources.loadDrawable(Resources.java:2063)
11-27 15:30:43.439:E/AndroidRuntime(24834):在android.content.res.TypedArray.getDrawable(TypedArray.java:601)
11-27 15:30:43.439:E/AndroidRuntime(24834):在android.view.view.(view.java:3364)
11-27 15:30:43.439:E/AndroidRuntime(24834):在android.view.view.(view.java:3293)
我不知道您为什么专门使用onpreexecute。如果要创建自定义对话框,可以参考以下内容
试试看
progressDialog.setIndeterminateDrawable(getDrawable(R.drawable.progress_dialog_icon_drawable_animation));
您需要使用上下文来获取资源,因此不要使用
context.getResources()
或BNMlogin来代替此getResources()
。此.getResources()
在两个实例上仍然给出相同的错误。虽然此答案可能是正确和有用的,但如果您解释它如何帮助解决问题,则更可取。如果有一个变化(可能是无关的)导致它停止工作,并且用户需要了解它曾经是如何工作的,那么这在将来变得特别有用。
11-27 15:30:43.439: E/AndroidRuntime(24834): at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
11-27 15:30:43.439: E/AndroidRuntime(24834): at android.view.LayoutInflater.createView(LayoutInflater.java:594)
11-27 15:30:43.439: E/AndroidRuntime(24834): Caused by: android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x2/d=0x7f01006a a=-1}
11-27 15:30:43.439: E/AndroidRuntime(24834): at android.content.res.Resources.loadDrawable(Resources.java:2063)
11-27 15:30:43.439: E/AndroidRuntime(24834): at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
11-27 15:30:43.439: E/AndroidRuntime(24834): at android.view.View.<init>(View.java:3364)
11-27 15:30:43.439: E/AndroidRuntime(24834): at android.view.View.<init>(View.java:3293)
progressDialog.setIndeterminateDrawable(getDrawable(R.drawable.progress_dialog_icon_drawable_animation));