持续显示输入对话框,直到用户输入预期输入 - Android

时间:2011-06-28 14:45:02

标签: c# android asynchronous dialog xamarin.android

我正在尝试提示用户输入安全PIN以允许他们访问该应用。如果输入的引脚不正确,我遇到问题的部分会反复提示用户输入对话框。

如果引脚不正确,不确定如何“重新显示”对话框。

当前代码:

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();

2 个答案:

答案 0 :(得分:4)

您应该将代码放入函数中,然后在else

中再次调用该函数

答案 1 :(得分:0)

或者在您的EditText上,您可以调用方法EditText.setError(“Invalid pin。”)并以这种方式显示错误的引脚而不是AlertDialog。如果错误做任何事情,直到他成功提交密码。