Ich lerne gerade über Fragmente. Ich folgte einer Antwort auf die Erstellung einer Schnittstelle aus einem Fragment, um Daten basierend auf einem Klick auf meine Aktivität zurück zu übertragen und es funktioniert perfekt.Java - Daten von Aktivität zu Fragment übergeben
Ich kann jedoch nicht herausfinden, wie mein Fragment auf eine bestimmte Änderung meiner Aktivität warten soll, nachdem alles erstellt wurde, genau wie meine Aktivität es tut.
Grundsätzlich habe ich eine Schaltfläche in meiner Aktivität und eine andere Schaltfläche in meinem Fragment. Wenn ich auf die Schaltfläche in meiner Aktivität klicke, möchte ich einige Daten senden, damit mein Fragment den Text meiner Fragment-Schaltfläche ändern kann.
Hier ist meine aktuelle Fragment
public void onClickBtn1(View v) {
passData("abc");
}
public interface OnDataPass {
void onDataPass(String data);
}
OnDataPass dataPasser;
@Override
public void onAttach(Context a) {
super.onAttach(a);
dataPasser = (OnDataPass) a;
}
public void passData(String data) {
dataPasser.onDataPass(data);
}
und dann diese in meiner Tätigkeit
@Override
public void onDataPass(String data) {
//do something with data
}
Ich möchte irgendwie diese genau die gleiche Sache zu bekommen, aber floppte flip. Irgendwelche Vorschläge? Vielen Dank!
Es ist noch einfacher umgekehrt. Behalten Sie einfach einen Verweis auf das Fragment, wenn Sie eine Fragmenttransaktion erstellen, und sagen Sie etwas wie 'myFragment.passData (" was auch immer ")' und erstellen Sie eine normale Methode innerhalb des Fragments. – Vucko
@Pam Tippfehler in Zeile 2 Ihres Codes. Sollte sein: passData ("abc"); – padeg