如果我在 menu/button 上单击两次,ProgressDialog 不会停止
ProgressDialog not stopping if I click twice on menu/button
我正在使用 ProgressDialog
来在用户单击任何菜单时显示加载,并且工作正常。但是当用户在菜单上点击两次时,ProgressDialog
并没有停止,而是运行 没完没了。
我该如何解决这个问题?
这是我的代码结构:
async void Grid_ItemClick(object sender, AdapterView.ItemClickEventArgs e)
{
_pbr = Utilities.ProgressBar(this, "b").Show();
switch (e.Position)
{
case 0:
var result = await objHw.GetHomework(userid,log.LogInOrganizationID);
if (resultA.Any())
{
//code
}
else
{
_pbr.Hide();
Toast.MakeText(this, "Homework not available.", ToastLength.Short).Show();
}
_pbr.Hide();
break;
case 1:
case 2:
}
}
Utilities.ProgressBar
方法:
public static ProgressDialog ProgressBar(Context context, string position)
{
var pbr = new ProgressDialog(context);
pbr.SetCancelable(false);
pbr.Indeterminate = true;
pbr.SetProgressStyle(ProgressDialogStyle.Spinner);
switch (position.ToLower())
{
case "c":
pbr.Window.SetGravity(GravityFlags.Center);
break;
case "b":
pbr.Window.SetGravity(GravityFlags.Bottom);
break;
}
pbr.SetMessage("please wait..");
return pbr;
}
正在加载...
ProgressDialog not stopping if I click twice on menu/button
当用户在菜单上单击两次时,避免为您的 ProgressDialog
创建多个实例应该可以解决此问题:
public class Utilities
{
public static ProgressDialog pbr;
public static ProgressDialog ProgressBar(Context context, string position)
{
if(pbr == null)
{
pbr = new ProgressDialog(context);
}
pbr.SetCancelable(false);
...
pbr.SetMessage("please wait..");
return pbr;
}
}
我正在使用 ProgressDialog
来在用户单击任何菜单时显示加载,并且工作正常。但是当用户在菜单上点击两次时,ProgressDialog
并没有停止,而是运行 没完没了。
我该如何解决这个问题?
这是我的代码结构:
async void Grid_ItemClick(object sender, AdapterView.ItemClickEventArgs e)
{
_pbr = Utilities.ProgressBar(this, "b").Show();
switch (e.Position)
{
case 0:
var result = await objHw.GetHomework(userid,log.LogInOrganizationID);
if (resultA.Any())
{
//code
}
else
{
_pbr.Hide();
Toast.MakeText(this, "Homework not available.", ToastLength.Short).Show();
}
_pbr.Hide();
break;
case 1:
case 2:
}
}
Utilities.ProgressBar
方法:
public static ProgressDialog ProgressBar(Context context, string position)
{
var pbr = new ProgressDialog(context);
pbr.SetCancelable(false);
pbr.Indeterminate = true;
pbr.SetProgressStyle(ProgressDialogStyle.Spinner);
switch (position.ToLower())
{
case "c":
pbr.Window.SetGravity(GravityFlags.Center);
break;
case "b":
pbr.Window.SetGravity(GravityFlags.Bottom);
break;
}
pbr.SetMessage("please wait..");
return pbr;
}
正在加载...
ProgressDialog not stopping if I click twice on menu/button
当用户在菜单上单击两次时,避免为您的 ProgressDialog
创建多个实例应该可以解决此问题:
public class Utilities
{
public static ProgressDialog pbr;
public static ProgressDialog ProgressBar(Context context, string position)
{
if(pbr == null)
{
pbr = new ProgressDialog(context);
}
pbr.SetCancelable(false);
...
pbr.SetMessage("please wait..");
return pbr;
}
}