Ich versuche, eine Aktion in einem Fragment durchzuführen, dann zum vorherigen Fragment und zeigen Sie eine Snackbar mit einer Nachricht, die Bestätigung der Aktion aus dem ersten Fragment. Ich erschaffe und zeige jedoch die Snackbar im ersten Fragment (dasjenige, von dem ich gehe), und die Snackbar erscheint nicht in dem Fragment, zu dem ich wechseln werde, wahrscheinlich weil es in dem Fragment gezeigt wird, das ich bewege von.Zeige snackbar nach dem Popping Fragment Backstack
ich die Ausführung der Code innerhalb eines Alertdialog:
builder.setPositiveButton(positiveText, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dbHandler.deleteExercise(exercise.getId());
// Making the snackbar here did not work, either.
getFragmentManager().popBackStack();
Snackbar snack = Snackbar.make(mainLayout, "Exercise deleted", Snackbar.LENGTH_SHORT);
snack.show();
}
});
Irgendeine Idee, wie ich über die Erreichung dieses gehen könnte?
Dank!
EDIT:
Ich habe diese unglaublich grobe Zeichnung des Strömungs es klarer zu machen, was zu erreichen Ich versuche.
Wollen Sie 'Snack Bar' in früheren * Fragment zeigen *, wenn Sie wechseln? –
@jaydroider Ja, der Ablauf ist in etwa so: Wählen Sie einen Gegenstand aus der Liste der Gegenstände (die Liste ist das "vorhergehende Fragment") -> Holen Sie sich eine detaillierte Ansicht des ausgewählten Gegenstandes ("aktuelles Fragment"). Klicken Sie, um das Element zu löschen -> Gehen Sie zurück zur Liste der Elemente ("vorheriges Fragment") und zeigen Sie eine Snackbar an. Hat das Sinn gemacht? – Plasma
Grundsätzlich versuchen Sie, Daten zwischen Fragmenten zu übergeben, die das Löschen anzeigen. Sie können diese Antworten verwenden, um dies http://stackoverflow.com/questions/5194548/how-to-pass-data-between-fragments zu tun. Die allgemeine Idee ist, dass Sie Aktivität als Schnittstelle zwischen den beiden Fragmenten verwenden. Es gibt andere Methoden wie die Verwendung von Roboguice- und Otto-Bibliotheken. all diese sind in den Antworten beschrieben –