Die Lösung für die Schnittstellenüberlappung, die durch den Neustart der an das Fragment angehängten Aktivität verursacht wird

Ich bin auf ein Problem im Projekt gestoßen: Die Hauptaktivität ist ein Fragment. Klicken Sie auf das Fragment, um zu einer neuen Aktivität zu springen. Nachdem die neue Aktivität abstürzt, ist die Hauptaktivität der App wieder onCreat, wodurch sich der Bildschirm überlappt

Lösung:

privater statischer finaler String BUNDLE_FRAGMENTS_KEY = „android:support:fragments“;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    if (savedInstanceState != null && this.clearFragmentsTag()) {
        //重建时清除 fragment的状态
        savedInstanceState.remove(BUNDLE_FRAGMENTS_KEY);
    }
    super.onCreate(savedInstanceState);
}


@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    if (outState != null && this.clearFragmentsTag()) {
        //销毁时不保存fragment的状态
        outState.remove(BUNDLE_FRAGMENTS_KEY);
    }
}

protected boolean clearFragmentsTag() {
    return true;
}

Supongo que te gusta

Origin blog.csdn.net/ligaoyuan8030/article/details/105842356
Recomendado
Clasificación