Wie nennen fragment-Methode aus der main activity
Habe ich die Methode im fragment-Klasse. Möchte ich nennen, dass die Methode aus der main-Aktivität, aber ich weiß nicht verwenden möchten, FragmentById (oder) FragmentByTag.
Mein fragment-Methode:
public void setItemFromDrawer(String sourceTag, String destTag) {
//dosomething
}
Wie obige Aufruf der Methode aus der Haupttätigkeit ohne die Verwendung FragmentById (oder) FragmentByTag?
- wenn Sie Last-fragment mit fragmentTransaction speichern Sie die fragment-Objekt und später können Sie rufen Sie eine öffentliche Methode, die das Objekt
- Ich habe leider nicht verstanden.. Kann man geben, den Beispiel-code
- möglich, Duplikat der stackoverflow.com/questions/10903077/...
- siehe unten meine Antwort
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstellen Sie zuerst eine Schnittstelle
Ihre fragment muss dieses interface implementieren.
In Ihrer Aktivität, definieren Sie ein Feld vom Typ MyInterface :
Beim erstellen Ihres fragment und hinzufügen :
Schließlich, wenn der Zustand passiert, dass Sie möchten, rufen Sie die Fragment-Methode, rufen Sie einfach an :
es bedeutet, Ihr ruft ein fragment Methode
Besser zu erklären, die Antwort von user5466222 :
In der Aktivität verwenden Sie so etwas wie dieses, wo Sie laden Ihre fragment:
Verwenden Sie folgende Zeile ein wo Sie möchten, um den Anruf fragment-Methode
((YourFragment Klasse) - fragment).Ihre Methode();
seine arbeitete für mich