Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 具有不确定可绘制的自定义ProgressDialog不工作_Android - Fatal编程技术网

Android 具有不确定可绘制的自定义ProgressDialog不工作

Android 具有不确定可绘制的自定义ProgressDialog不工作,android,Android,我有一个定制的ProgressDialog,其中一个定制的drawable在异步任务的预执行时被调用,如下所示 private ProgressDialog progressDialog = new ProgressDialog(BNMlogin.this); @Override protected void onPreExecute() { progressDialog.setMessage("Authenticating Credentials...

我有一个定制的ProgressDialog,其中一个定制的drawable在异步任务的预执行时被调用,如下所示

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