2016-08-16 23 views
8

は、アニメーションでうまく動作している円形のプログレスバーを作成しました。しかし、動的なデータを使用してそれを表示しようとしているプログレスバーは更新されていません。コードの下c#xamarin circular progress bar - Android

progrssBarObj = FindViewById<ProgressBar>(Resource.Id.progressBarSync); 

    ObjectAnimator animation = ObjectAnimator.OfInt(progrssBarObj, "progress", 0, 100); // see this max value coming back here, we animale towards that value 
    animation.SetDuration(3000); //in milliseconds 
    animation.SetInterpolator(new DecelerateInterpolator()); 
    animation.Start(); 

作業とAXMLコードが

<ProgressBar 
      style="?android:attr/progressBarStyleHorizontal" 
      android:layout_column="2" 
      android:id="@+id/progressBarSync" 
      android:layout_width="300dp" 
      android:layout_height="300dp" 
      android:progressDrawable="@drawable/circular_progress_bar" 
      android:background="@drawable/progress_bar_background" /> 

ですが、私は、ループ内でプログレスバーがデータを更新していないような何かをしようとしたときです。基本的にプログレスバーは更新されていません。

  for (int i = 0; i <= 100; i++) 
      { 
       int cnt = 0; 
       cnt = cnt + i; 
       progrssBarObj.Progress = cnt; 

      } 

助けてください。

答えて

6

私は内部の新しいタスクのループのために保存し、それが

await Task.Run(() => 
{ 
    for (int i = 0; i < dtITM.Rows.Count; i++) 
    { 
    int cnt = 0; 
    cnt = cnt + i; 
    progrssBarObj.Progress = cnt; 
    } 
} 
を働いてしまいました