gpt4 book ai didi

android - 如果我在菜单/按钮上单击两次,ProgressDialog 不会停止

转载 作者:行者123 更新时间:2023-11-29 00:57:56 25 4
gpt4 key购买 nike

我正在使用 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;
}

正在加载...

enter image description here

最佳答案

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;
}
}

关于android - 如果我在菜单/按钮上单击两次,ProgressDialog 不会停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53258775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com