Ich versuche, Schnittstellen in meinem Android Java-Projekt zu verwenden. Callback-Interfaces scheinen die Antwort auf C# -Teilnehmer zu sein, aber ich kann mich nicht damit herumschlagen, ich habe andere ähnliche Fragen gelesen, aber ich kann es nicht wieder an meine Bedürfnisse anpassen oder es zum Laufen bringen. Was ich brauche, ist eine Funktion in der Klasse A zu nennen, die in der Klasse B übergeben als Parameter ist, wenn die Klasse B eine Aufgabe beendet hat, gibt das Ergebnis an A durch Aufruf die Funktion zuvor in einer Variablen gespeichert:Delegierte - wie?
class A {
B myBClass;
public A() {
myBClass = new B();
myBClass.doSomething(ResultFunction);
//Continue doing other tasks
}
public void ResultFunction(<result parameters>) {
//do something with the result from the task in myBClass
}
}
class B {
Function myCallback;
public B() {
}
public void doSomething(ResultFunction) {
myCallback = callback;
//does something
SomethingFinished();
}
private void SomethingFinished() {
myCallback.call(<result of doSomething>);
}
}
Können Sie nicht einfach Methode 'DoSomething' aus' ClassB' die Ergebnisse zurückgeben, damit Sie Ihre eigene Methode von A aufrufen können? –