2017-06-05 89 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你的帮助。 –