2017-06-05 24 views
0

私はxamarin androidでスレッドとプログレスバーを使用しています。私は進歩のために次のコードを使用しています。しかしスレッドが完了した後もプログレスバーが表示されます。 誰もがこの解決するために私を助けてもらえ:隠し/ショーprobarをメインスレッド上のメソッドプログレスバーとスレッドin xamarin android

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

2作成し、事前に

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 C

答えて

2

1)) を呼び出してタスクスレッドを開始する前にprobarを表示するShowProgressBar(true)

btnref.Click += delegate { 
    ShowProgressBar(true); 
    System.Threading.ThreadStart th = new System.Threading.ThreadStart(imagesetting); 
    Thread myThread = new Thread(th); 
    myThread.Start(); 
}; 

3)イメージセッティング

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

    *some code* 

    ShowProgressBar(false); 
} 
+0

こんにちはTaierの終わりに偽ShowProgressBar()を呼び出すことによってprobarを隠す、それはあなたがあなたの助けme.Thankのために働いています。 –

関連する問題