私は基本的なforループを持っています。これは基本的にダウンロードファイルです。ラベルが進行している限り、ラベルを更新するはずです。Xamarin UILabelが更新されない
ここでStack Overflowを検索すると、SetNeedsDisplay()を使用する方向が見つかりました。しかし、それはまだ更新を拒否しています。何か案が ?
for (int i = 0; i < files.Length; i++)
{
status.Text = "Downloading file " + (i + 1) + " of " + files.Length + "...";
status.SetNeedsDisplay();
string remoteFile = assetServer + files[i];
var webClient2 = new WebClient();
string localFile = files[i];
string localPath3 = Path.Combine(documentsPath, localFile);
webClient2.DownloadFile(remoteFile, localPath3);
}
これはバックグラウンドスレッドで実行していますか? – BytesGuy
Nope.Nope.Nope。 –
UIスレッドをブロックしたり、バックグラウンドスレッドでダウンロードしたり、 'await Task.Run(...)'と同じように簡単にダウンロードしたり、UIスレッドでUILabelを更新したりしないでください。 – SushiHangover