当点击菜单项时,我需要更新多个EditText视图。代码如下。在此过程中,我想显示进度对话框。
public override bool OnOptionsItemSelected(IMenuItem item)
{
switch (item.ItemId)
{
case Resource.Id.updateid:
var progressDialog = ProgressDialog.Show(this, "", "Updating...", true);
progressDialog.SetProgressStyle(ProgressDialogStyle.Spinner);
new Thread(new ThreadStart(delegate
{
RunOnUiThread(() =>
{
for (int i = 0; i < 100; i++)
{
eTxt[i].Text = slnArray[i].ToString();
}
progressDialog.Dismiss();
}
);
})).Start();
return true;
default:
return base.OnOptionsItemSelected(item);
}
}
有时进度对话框会出现,有时不会。 大多数情况下,它会首次出现,然后不再出现。第二次卡住了。
如果对话框出现,则没有旋转,并且看起来像某些静态图像。
问题1)如何始终使此对话框出现?
问题2)如何使其旋转?
注:我尝试将progressDialog.Dismiss()放在另一个RunOnUiThread()中,也尝试在线程之外进行。 两种方式都失败了。