Ich habe eine Fragment (A) mit Recycler anzeigen. Wenn ich auf ein Element drücke, wird das DialogFragment (mit Details zu diesem Element) angezeigt. Wenn ich die Löschtaste drücke, wird das Element gelöscht und das Fragment A wird angezeigt (mit Änderungen). Meine Frage ist wie man benachrichtigt, dass Element gelöscht wurde? Ich möchte eine Snackbar mit undo Option zeigen.Snackbar Rückruf von einem anderen Fragment
public interface OnDeletedItem {
void onDeletedItem(Item deletedItem);
}
Machen Sie Ihre Aktivität die Schnittstelle,
public class MainActivity
extends AppCompatActivity
implements DialogFragment.OnDeletedItem
@Override
public void onDeletedItem(Item deletedItem) {
// get the Fragment A from fragment manager and notify it via public method to show a Snackbar with the Undo option as desired
FragmentA fragmentA = (FragmentA) getFragmentManager().findFragmentByTag("FragmentA");
fragmentA.showSnackbarForDeletedItem(deletedItem); // implement showSnackbarForDeletedItem or similar method in FragmentA
getSupportFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
}
Dann implementieren, wenn Sie: Ich habe nichts auf Google ..
Dank
Da die Kommunikation zwischen Fragmenten über die Aktivität empfohlen wird, können Sie eine Schnittstelle in Ihrem Dialogfragment implementieren, die die Hauptaktivität des Löschens von Elementen benachrichtigt, die dann Fragment A über eine andere Schnittstelle zur Aktualisierung oder was auch immer benachrichtigt. – akdsouza
Ich habe eine Antwort hinzugefügt – akdsouza