2016-09-22 6 views
0

Ich erhalte folgende Fehler, es ist im Grunde gleiche Fehler sind aber immer wieder auftretende auf verschiedene LinienViewGroup.java AddViewInner Ausgabe

Fatal Exception: java.lang.IllegalStateException: Das angegebene Kind hat bereits einen Elternteil. Sie müssen zuerst removeView() für das übergeordnete Element des Kindes aufrufen. bei android.view.ViewGroup.addViewInner (ViewGroup.java:3883)

Schwerwiegende Ausnahme: java.lang.IllegalStateException: das angegebene Kind hat bereits ein Elternteil. Sie müssen zuerst removeView() für das übergeordnete Element des Kindes aufrufen. bei android.view.ViewGroup.addViewInner (ViewGroup.java:4312)

Schwerwiegende Ausnahme: java.lang.IllegalStateException: das angegebene Kind hat bereits ein Elternteil. Sie müssen zuerst removeView() für das übergeordnete Element des Kindes aufrufen. i fügen Sie diesen Code in onCreateView

  • während jedes Fragment Zugabe von (-: bei android.view.ViewGroup.addViewInner (ViewGroup.java:4310)

Dinge, die ich versucht habe (ViewGroup) view.getParent()). RemoveView (view); view = inflater.inflate (R.layout.create_carpool_layout, container, false); Rückansicht;

und dann aufblasen die Ansicht

  • Während auch Layouts/Ansichten in Adapter Aufpumpen ich sicherstellen, dass der Blick aus übergeordneter Ansicht entfernt wird

  • Ich bin nicht sicher, was dieses Problem verursacht

    Antwort

    0

    Probieren Sie doppelt, wie Sie die Ansicht aufblasen.

    Es gibt zwei Möglichkeiten:

    1. Vorbei an der Eltern an den inflater:

      LayoutInflater.from(context).inflate(R.layout.layout, this, true); 
      
    2. Halten Sie die Ansicht, ohne die Eltern:

      LayoutInflater.from(context).inflate(R.layout.layout, null); 
      

    Wenn Mit der ersten Methode können Sie nicht t rufen Sie addView() mit dem view als Parameter auf.
    die zweite Art und Weise verwenden, wird die Ansicht nicht zu Eltern gemerkt, daher können Sie addView()

    +0

    ich die Frage bearbeitet haben aufrufen, überprüfen Sie bitte bei Fragmente i Ansicht bin mit = inflater.inflate (R.layout.create_carpool_layout, Behälter, falsch); wie ich addView in onCreateView nicht tun muss – abhishek

    +0

    Sind Sie sicher, dass Sie das Fragment nicht zweimal hinzufügen? –

    +0

    Ja, da dies nur bei 2% der Benutzer der Fall ist, kann ich dies auf meinen Testgeräten nicht reproduzieren. Wenn das Fragment zweimal hinzugefügt worden wäre, wäre es möglich, einen Fehler zu reproduzieren – abhishek