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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem ist in dieser Zeile:
alert.setView(input);
Sie Hinzugefügt
input
View
bereitsparent
.Erstellen Sie neue
input
Instanz.Setzen Sie folgende Zeile
Nach
gemäß dieser post, fügen Sie diese überprüfen, um zu entfernen, Eingaben von Eltern und readd es: