等待用户确认Xamarin.Android的AlertDialog
本文关键字:AlertDialog Android Xamarin 用户 确认 等待 | 更新日期: 2023-09-27 18:27:28
在执行某段代码之前,我需要等待用户确认。这是我构建和显示AlertDialog:的地方
private bool AskForCommand()
{
bool userOK = false;
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.SetPositiveButton("Yes", (sender, args) =>
{
userOK = true;
})
.SetNegativeButton("No", (sender, args) =>
{
userOK = false;
})
.SetMessage("Send vocal command now?")
.SetTitle("System Message");
RunOnUiThread(() =>
{
dialog.Show();
});
return userOK;
}
这里是我称之为方法的地方:
if (!string.IsNullOrEmpty(exactSpeech))
{
bool userOK = false;
try
{
userOK = AskForCommand();
}
catch (Exception ex)
{
//TODO: catch
}
if (cfg.InstantSendVocal || userOK)
SendCommandToBoard(exactSpeech);
}
问题是警报显示在方法"SendCommandToBoard"之后。
只需在SetPositiveButton
回调中放入以下代码
dialog.SetPositiveButton("Yes", (sender, args) =>
{
if (cfg.InstantSendVocal)
SendCommandToBoard(exactSpeech);
}
忘记名为userOK 的布尔变量