Android 自定义进度条,不';没有进展

Android 自定义进度条,不';没有进展,android,xml,progress-bar,customization,Android,Xml,Progress Bar,Customization,在我的应用程序中,我插入了一个自定义进度条。 问题是没有显示出进展。在我调用的代码中setProgress时,该条保留背景色。而布局设置中的ifsetProgress则正常显示。 在插入自定义工具栏之前,它工作得非常好 下面是一些代码: drawable/customprogressbar.xml <?xml version="1.0" encoding="UTF-8"?> <layer-list xmlns:android="http://schemas.android.co

在我的应用程序中,我插入了一个自定义进度条。 问题是没有显示出进展。在我调用的代码中
setProgress
时,该条保留背景色。而布局设置中的if
setProgress
则正常显示。 在插入自定义工具栏之前,它工作得非常好

下面是一些代码:

drawable/customprogressbar.xml

<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- Define the background properties like color etc -->
    <item android:id="@android:id/background">
    <shape>
        <corners
           android:radius="5dip" />
        <gradient
                android:startColor="#5c5c5b"
                android:endColor="#9d9d9c"
                android:centerY="1"
                android:angle="270"
        />
    </shape>
   </item>


  <!-- Define the progress properties like start color, end color etc -->
  <item android:id="@android:id/progress">
    <clip>
        <shape>
            <corners
              android:radius="5dip" />
            <gradient
                android:startColor="#85040b"
                android:endColor="#e30613"
                android:centerY="1"
                android:angle="270"
            />
        </shape>
    </clip>
    </item>
</layer-list> 

要设置进度,我发现了错误。代码是正确的。但是我只在if状态下对“if-else”调用“setProgress”。 这是正确的代码(关于异步任务的进度更新)

 if(i[3]==1){
                SetMarker(coordOggetto, i[0] , tipo, nome, indirizzo);}
                 progresbar.setProgress(i[1]);
                tv_completamento.setText(i[1]+"%");
            }

谢谢大家的评论

这是
ProgressBar

progressBarHandler.post(new Runnable() {

      public void run() {
          bar.setProgress(progress);
      }
});

可以解决您的程序问题吗?

首先明确您的问题什么在工作?您能向我们展示逻辑吗?您能分享您的代码吗?我试图更好地解释:当我从代码设置进度时,它不起作用。但是如果我从布局设置进度,它会显示进度。@umerk44代码的哪一部分?只需调用一个对文件执行操作的异步任务,和progressupdate,更新进度条。我重复一遍,在不改变进度条外观的情况下,它可以工作
 if(i[3]==1){
                SetMarker(coordOggetto, i[0] , tipo, nome, indirizzo);}
                 progresbar.setProgress(i[1]);
                tv_completamento.setText(i[1]+"%");
            }
progressBarHandler.post(new Runnable() {

      public void run() {
          bar.setProgress(progress);
      }
});