dialog - Das angegebene Kind bereits einen Elternteil. Rufen Sie removeView() auf die Eltern zuerst

Sich nach Prüfung das verlangen der Nutzer zu schalten, die auf internet-Dienste und ich versuche, klicken auf einen button meine app stürzt ab mit der Fehlermeldung

java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.

In dieser Linie, stürzt es ab, ich habe versucht, dies zu tun, aber nicht gelöst absolut

if(alert.getContext() != null){
            alert.show();
        }

Dies ist der vollständige code

else if (id == R.id.xyz) {

            //startActivity(borrowIntent);
            AlertDialog.Builder alert = new AlertDialog.Builder(MainActivity.this);
            alert.setTitle("xyz");
            input.setFilters(new InputFilter[] {
                    //Maximum 2 characters.
                    new InputFilter.LengthFilter(6),
                    //Digits only.
                    DigitsKeyListener.getInstance(), 
                });
            //Digits only & use numeric soft-keyboard.
            input.setKeyListener(DigitsKeyListener.getInstance());
            input.setHint("xyz");
            alert.setView(input);
            alert.setPositiveButton("Borrow", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {
                if(input.getText().length() == 0)
                {
                    input.setError("xyz is required !");
                }
                else
                {

                   if(isNetworkAvailable())
                      {
                         xyz( input.getText().toString());

                      }else{

                            //setContentView(R.layout.main);

                            AlertDialog.Builder builder = new AlertDialog.Builder(
                                    MainActivity.this);
                              builder.setCancelable(false);
                              builder.setTitle("xyz");
                              builder.setMessage("Please enable wifi services");
                              builder.setInverseBackgroundForced(true);
                              builder.setPositiveButton("Ok",
                                      new DialogInterface.OnClickListener() {
                                          @Override
                                          public void onClick(DialogInterface dialog,
                                                  int which) {

                                              startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);
                                              dialog.dismiss();


                                          }
                                      });
                              AlertDialog alerts = builder.create();
                              alerts.show();
                           }//end of block

                        }
              }
            });
            alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
              public void onClick(DialogInterface dialog, int whichButton) {
                //Canceled.
              }
            });
            if(alert.getContext() != null){
            alert.show(); //crashes at this line
            }
        }

Bitte was bin ich?

  • Können Sie fügen Aktivität oder fragment-code, in der Sie mit diesem dialog
InformationsquelleAutor Blaze | 2016-05-26
Schreibe einen Kommentar