2017-06-05 90 views
0

我在xamarin android中使用線程和進度條。我正在使用下面的代碼來取得進展。但是線程完成後進度條仍然顯示。 誰能幫我解決此問題:進度條和線程在xamarin android

ProgressBar probar=view.FindViewById<ProgressBar>(Resource.Id.progressBar1); 
probar.Visibility = ViewStates.Invisible; 
Button btnref = view.FindViewById<Button>(Resource.Id.btnrefresh); 
    btnref.Click += delegate { 
     probar.Visibility = ViewStates.Visible; 
     System.Threading.ThreadStart th = new System.Threading.ThreadStart(imagesetting); 
     Thread myThread = new Thread(th); 
     myThread.Start(); 
     probar.Visibility = ViewStates.Invisible; 
    }; 



    private void imagesetting() { 
     string uri = "example.com/xxx.svc" + Vid + ""; 
    ----- 
    } 

由於事先 ManthiramÇ

回答

2

1)製作方法,隱藏/顯示probar上主線程

private void ShowProgressBar(bool show) { 
    RunOnUiThread(() => { 
     ProgressBar probar=view.FindViewById<ProgressBar>(Resource.Id.progressBar1); 
     probar.Visibility = show ? ViewStates.Visible : ViewStates.Invisible; 
    }); 
} 

2)通過調用ShowProgressBar(true)

01在啓動任務線程之前顯示probar
btnref.Click += delegate { 
    ShowProgressBar(true); 
    System.Threading.ThreadStart th = new System.Threading.ThreadStart(imagesetting); 
    Thread myThread = new Thread(th); 
    myThread.Start(); 
}; 

3)通過調用ShowProgressBar(假)照排

private void imagesetting() { 
    string uri = "example.com/xxx.svc" + Vid + ""; 

    *some code* 

    ShowProgressBar(false); 
} 
+0

泰爾嗨結束隱藏probar,它正在爲me.Thank你的幫助。 –