C# 持续显示输入对话框,直到用户输入预期输入-Android
我试图提示用户输入安全PIN,以允许他们访问应用程序。我遇到问题的部分是,如果输入的pin不正确,会反复用输入对话框提示用户 如果pin不正确,不确定如何“重新显示”对话框 当前代码:C# 持续显示输入对话框,直到用户输入预期输入-Android,c#,android,asynchronous,dialog,xamarin.android,C#,Android,Asynchronous,Dialog,Xamarin.android,我试图提示用户输入安全PIN,以允许他们访问应用程序。我遇到问题的部分是,如果输入的pin不正确,会反复用输入对话框提示用户 如果pin不正确,不确定如何“重新显示”对话框 当前代码: bool correct = false; AlertDialog.Builder dialog = new AlertDialog.Builder(this); dialog.SetTitle("Enter Security PIN"); EditText input = new EditText(this);
bool correct = false;
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.SetTitle("Enter Security PIN");
EditText input = new EditText(this);
dialog.SetView(input);
dialog.SetPositiveButton("Login", (sender, args) =>
{
// check pin
string pin = prefs.GetString("pin", "0");
if (pin.CompareTo(input.Text) == 0)
{
correct = true;
}
else
{
// ??????? what to do here to redisplay dialog or prevent dismissal
}
});
dialog.SetNegativeButton("Exit", (sender, args) =>
{
this.Finish();
});
dialog.Show();
您应该将代码放入函数中,然后在
else
中再次调用该函数。或者,您可以在EditText上调用方法EditText.setError(“无效pin”),并以这种方式显示不正确的pin,而不是AlertDialog。如果出现错误,在他成功提交pin之前什么也不做。所以递归创建对话框,直到给出正确的pin?最简单的解决方案!:)我遇到的问题是阻止对话框自动关闭,我相信这种解决方案仍然会出现这种情况。