Reihenfolge der Dialoge ändert sich beim drehen

Ich habe zwei Dialoge (DialogFragment-Instanzen), d1 und d2, die ich übereinander anzeige. D2 ist dabei quasi ein “Unter-Dialog” von d1. Soweit alles gut.

Wenn ich aber nun das Tablet drehe, dann kann es vorkommen (ist nicht immer so), dass der Hauptdialog (d1) über seinem “Unter-Dialog” (d2) liegt, obwohl es eigentlich anders herum sein sollte.

Hat jemand eine Idee, wie ich das beheben könnte!?

Zeig mal ein bisschen Code

So aus der Luft greifen ist schwierig

Code ist kein Problem, here we go:

Innerer Dialog
[spoiler]
Ich habe eine View, die bei Click einen Dialog öffnen soll:

    @Override
    protected void onAttachedToWindow() {
        super.onAttachedToWindow();
        
        setOnClickListener(new View.OnClickListener() {
            
            @Override
            public void onClick(final View v) {
                final InnerDialog dialog = new InnerDialog();
                dialog.show(((Activity) getContext()).getFragmentManager(), "inner_dialog");
            }
        });
    }
}```
Und die zugehörige Klasse `InnerDialog`:
``` public static final class InnerDialog extends GuiDialogFragment {
        
        @Override
        public Dialog onCreateDialog(final Bundle savedInstanceState) {
            List<String> strings = // ... init stuff  
            final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
            builder.setItems(strings, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(final DialogInterface dialog, final int which) {
                   // .. on click stuff
                }
            });
            
            final AlertDialog dialog = builder.create();
            dialog.setCanceledOnTouchOutside(true);
            return dialog;
        }
    }```
[/spoiler]



Äußerer Dialog
[spoiler]
Diese `MyView` wird in einem Dialog eingebunden (`outer_dialog.xml`):
[XML]<?xml version="1.0" encoding="utf-8"?>
<LinearLayout >
        <de.natac.MyView/>
</LinearLayout>[/XML]

Dieses Layout nutze ich dann in einem Dialog, der mit Klick auf eine Andere View erzeugt wird:
```public class OuterDialog extends GuiDialogFragment {
    
     @Override
    public Dialog onCreateDialog(final Bundle savedState) {
        final LayoutInflater inflater = LayoutInflater.from(getActivity());
        
        final View view = inflater.inflate(R.layout.outer_dialog,null);// <-- Einbinden Layout outer_dialog.xml
        final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
        builder.setView(view);
        
        final AlertDialog dialog = builder.create();
        dialog.setCanceledOnTouchOutside(true);
        return dialog;
    }
}```

Und hier noch der Code, wie `OuterDialog` erzeugt wird:
```public class TeamTourMedicView extends LinearLayout{
 @Override
    protected void onAttachedToWindow() {
        super.onAttachedToWindow();
        
        final View child = findViewById(R.id.child);
        child.setOnClickListener(new View.OnClickListener() {
            
            @Override
            public void onClick(final View v) {
                final OuterDialog dialog = new OuterDialog();
                dialog.show(((Activity) getContext()).getFragmentManager(), "outer_dialog");
            }
        });
    }
}```[/spoiler]


Das funktioniert in 90% der Fälle auch super. Nur manchmal erscheint der InnerDialog vor dem OuterDialog, wenn ich das Tablet drehe. Hat jemand eine Idee?