Java Android中的警报对话框错误

Java Android中的警报对话框错误,java,android,android-alertdialog,android-dialog,Java,Android,Android Alertdialog,Android Dialog,我有一个警报对话框的问题,我有两个警报对话框,其中一个应该在用户单击另一个对话框上的ok后显示,问题是当我尝试显示第二个对话框时(即使我使用处理程序在第一个对话框12秒后显示它仍然不工作),它崩溃,如果它们单独但不在一起,这两个对话框都可以工作 当它崩溃时,它会启动类文件编辑器,当我继续模拟,然后由于错误而崩溃时,我认为这是错误的,因为第一个对话框仍然存在(即使用户单击某个选项),但我没有看到任何函数来关闭该对话框或类似对话框 代码如下: final Builder dialogo =

我有一个警报对话框的问题,我有两个警报对话框,其中一个应该在用户单击另一个对话框上的ok后显示,问题是当我尝试显示第二个对话框时(即使我使用处理程序在第一个对话框12秒后显示它仍然不工作),它崩溃,如果它们单独但不在一起,这两个对话框都可以工作

当它崩溃时,它会启动类文件编辑器,当我继续模拟,然后由于错误而崩溃时,我认为这是错误的,因为第一个对话框仍然存在(即使用户单击某个选项),但我没有看到任何函数来关闭该对话框或类似对话框

代码如下:

    final Builder dialogo = new AlertDialog.Builder(this)
                 .setTitle("Introduce un nombre")
                 .setMessage("Esta es la primera vez que subes una foto, introduce un nombre que aparecera en tu foto")
                 .setView(input)
                 .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                     public void onClick(DialogInterface dialog, int whichButton) {
                         String nombre = String.valueOf(input.getText());
                        if(nombre.equalsIgnoreCase(""))
                        {
                            Toast.makeText(ctx,"¡Tu nombre no puede estar en blanco!", Toast.LENGTH_LONG).show();
                            //entra =1;
                        }
                        else
                        {                               
                            editor.putString("nombre",nombre);
                            editor.commit();
                            //entra = 0;                                 
                        }

                     }
                 }).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                     public void onClick(DialogInterface dialog, int whichButton) {
                     //entra =1;
                     }
                 });
                  dialogo.create();



                  Builder dialogo3 = new AlertDialog.Builder(this)
                     .setTitle("Introduce un nombre mamahuevo")
                     .setMessage("Esta es la primera vez que subes una foto, introduce un nombre que aparecera en tu foto")
                     .setView(input)
                     .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                         public void onClick(DialogInterface dialog, int whichButton) {
                             String nombre = String.valueOf(input.getText());
                            if(nombre.equalsIgnoreCase(""))
                            {
                                Toast.makeText(ctx,"¡Tu nombre no puede estar en blanco!", Toast.LENGTH_LONG).show();
                                //entra =1;
                            }
                            else
                            {                               
                                editor.putString("nombre",nombre);
                                editor.commit();

                                dialogo.show();
                                //entra = 0;                                 
                            }

                         }
                     }).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                         public void onClick(DialogInterface dialog, int whichButton) {
                         //entra =1;
                         }
                     });
                      dialogo3.create();
                      dialogo3.show();
这就是错误:

    06-06 15:43:15.765: E/AndroidRuntime(3008): FATAL EXCEPTION: main
    06-06 15:43:15.765: E/AndroidRuntime(3008): java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
    06-06 15:43:15.765: E/AndroidRuntime(3008):     at android.view.ViewGroup.addViewInner(ViewGroup.java:3430)
    06-06 15:43:15.765: E/AndroidRuntime(3008):     at android.view.ViewGroup.addView(ViewGroup.java:3301)
    06-06 15:43:15.765: E/AndroidRuntime(3008):     at android.view.ViewGroup.addView(ViewGroup.java:3277)
    06-06 15:43:15.765: E/AndroidRuntime(3008):     at com.android.internal.app.AlertController.setupView(AlertController.java:416)
    06-06 15:43:15.765: E/AndroidRuntime(3008):     at com.android.internal.app.AlertController.installContent(AlertController.java:244)
    06-06 15:43:15.765: E/AndroidRuntime(3008):     at android.app.AlertDialog.onCreate(AlertDialog.java:337)
    06-06 15:43:15.765: E/AndroidRuntime(3008):     at android.app.Dialog.dispatchOnCreate(Dialog.java:355)
    06-06 15:43:15.765: E/AndroidRuntime(3008):     at android.app.Dialog.show(Dialog.java:260)
    06-06 15:43:15.765: E/AndroidRuntime(3008):     at android.app.AlertDialog$Builder.show(AlertDialog.java:951)
    06-06 15:43:15.765: E/AndroidRuntime(3008):     at sxa.sexolia.sexyono.Opciones$6.onClick(Opciones.java:183)
    06-06 15:43:15.765: E/AndroidRuntime(3008):     at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:169)
    06-06 15:43:15.765: E/AndroidRuntime(3008):     at android.os.Handler.dispatchMessage(Handler.java:99)
    06-06 15:43:15.765: E/AndroidRuntime(3008):     at android.os.Looper.loop(Looper.java:153)
    06-06 15:43:15.765: E/AndroidRuntime(3008):     at android.app.ActivityThread.main(ActivityThread.java:5297)
    06-06 15:43:15.765: E/AndroidRuntime(3008):     at java.lang.reflect.Method.invokeNative(Native Method)
    06-06 15:43:15.765: E/AndroidRuntime(3008):     at java.lang.reflect.Method.invoke(Method.java:511)
    06-06 15:43:15.765: E/AndroidRuntime(3008):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
    06-06 15:43:15.765: E/AndroidRuntime(3008):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
    06-06 15:43:15.765: E/AndroidRuntime(3008):     at dalvik.system.NativeStart.main(Native Method)

问题已解决。SetView(输入)当我试图将其放入两个对话框时,它崩溃了。从其中一个对话框中删除它后,它正常工作,感谢所有可能的重复。我可以看到一个名为“输入”的变量。它是什么类型的?添加视图时会发生动态,所以请尝试删除父布局的所有视图,然后再添加子视图