Im使用Xamarin和C#構建一個android應用程序。 該應用程序使用restsharp連接到我的服務器並提取我需要的信息。Xamarin - 使用async/await和ProgressDialog
我試圖建立一個註冊頁面,我想檢查用戶是否存在。 我想在後臺執行此操作,而用戶看到ProgressDialog。
這是我的代碼:
if (!string.IsNullOrEmpty(PhoneNumber) && !string.IsNullOrEmpty(Password)
&& !string.IsNullOrEmpty(LicenceId) && LicenceImage.Length > 1)
{
ProgressDialog mDialog = new ProgressDialog(this);
mDialog.SetMessage("Loading data...");
mDialog.SetCancelable(false);
mDialog.Show();
bool checkExistance = await api.CheckIfExist(PhoneNumber);
if (checkExistance)
{
Android.Support.V7.App.AlertDialog.Builder alert = new Android.Support.V7.App.AlertDialog.Builder(this);
alert.SetTitle("");
}
else
{
Intent intent = new Intent(this, typeof(RegisterDone));
StartActivity(intent);
}
}
的ProgressDialog節目,但總比沒有happedns。 我試圖用其他方式做到這一點,但仍然在不斷努力。
這是幹什麼用的嗎? Thx
提防異步的,因爲它創造了一個新的線程,並改變你需要在UI線程的對話框。 – rmjoia
您是否嘗試過使用斷點來查看'api.CheckIfExist(PhoneNumber);'是否運行? –
是的,thia方法運行並返回一個布爾值。問題是服務器返回結果後什麼也沒有發生 –