我有一个进度条,开始时应该是不可见的,点击后可见,然后再次变为不可见。
这个问题似乎是在代码块中,插入进度条之后。它调用了一个API,并获得了结果,大约需要4秒。如果我注解掉这段代码,它就像一个魅力,但当它包含时,进度条的设置为可见不起作用。
理想情况下,代码应该在函数开始时将进度条设置为可见,然后在函数结束时再次将其设置为不可见。
private void btnProvjeriRate_Click(object sender, System.EventArgs e)
{
var txtRateUnosBroja = FindViewById<EditText>(Resource.Id.txtRateUnosBroja);
var txtRateUnosJMBG = FindViewById<EditText>(Resource.Id.txtRateJMBG);
ProgressBar progressBar = FindViewById<ProgressBar>(Resource.Id.progressBar);
progressBar.Visibility = ViewStates.Visible;
if (Util.Functions.validateJMBG(txtRateUnosJMBG.Text)) {
if (Util.Functions.ValidatePhoneNumber(txtRateUnosBroja.Text))
{
//block of code
}
else
{
Snackbar snackbar = Util.Functions.generateNotification(FindViewById(Android.Resource.Id.Content), "Neispravan format broja");
snackbar.Show();
}
}
else
{
Snackbar snackbar = Util.Functions.generateNotification(FindViewById(Android.Resource.Id.Content), "Neispravno unesen JMBG");
snackbar.Show();
}
}
1条答案
按热度按时间mrfwxfqh1#
您可以尝试使用
AsyncTask
来实现这一点。请参考以下代码:
activity_main.xml
文件:MainActivity.cs
UpdatePB.cs
注:
您可以尝试将耗时的代码添加到类
UpdatePB
的方法RunInBackground
中。