Android 在while语句中弹出Alertdialog

Android 在while语句中弹出Alertdialog,android,android-alertdialog,Android,Android Alertdialog,我有一个警告框,用户可以在其中输入人名,然后按Ok,如果要输入其他人名,该框将再次出现。下面的代码确实有效,但如果要添加大量用户(如50人),我的平板电脑将崩溃并重置。我很确定会发生这种情况,因为有50个对话框相互重叠,我的平板电脑内存不足,会关机 如何让它等待用户输入名称,然后再次运行 while(i < number) { final AlertDialog.Builder alert = new AlertDialog.Buil

我有一个警告框,用户可以在其中输入人名,然后按Ok,如果要输入其他人名,该框将再次出现。下面的代码确实有效,但如果要添加大量用户(如50人),我的平板电脑将崩溃并重置。我很确定会发生这种情况,因为有50个对话框相互重叠,我的平板电脑内存不足,会关机

如何让它等待用户输入名称,然后再次运行

        while(i < number)
        {
            final AlertDialog.Builder alert = new AlertDialog.Builder(this);
            final EditText input = new EditText(this);
            alert.setMessage("Enter persons name (" + (number - i) + " names left to enter)");
            alert.setView(input);
            alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() 
            {
                public void onClick(DialogInterface dialog, int whichButton) 
                {
                    String value = input.getText().toString().trim();
                    setUp(value);
                }
            });
            alert.show();
            i++;
        }
while(i
是的,您同时显示所有警报

避免此问题的伪代码:

function showAlerts(Integer i) {
    if (i < number) {
        // Build the alert and display it
        alert.setPositiveButton(..., new OnClickListener() {
            setup(...);
            showAlerts(i+1);
        }
    }
}

showAlerts(0);
函数showAlerts(整数i){
如果(i
我确实在if函数中使用了它,但它只显示了一次弹出窗口。如果您查看其余代码,我会递归调用showAlerts显示50次。我现在看到了,我错过了它。非常感谢:)