Wie kann ich eine Funktion als Parameter an eine andere Funktion in Android übergeben?

7

Wie kann ich also eine Funktion als Parameter an eine andere Funktion übergeben, zB will ich diese Funktion übergeben:

%Vor%

in diesem:

%Vor%     
nexusone 18.10.2012, 13:12
quelle

4 Antworten

15

Sie können eine Runnable verwenden, um Ihre Methode zu umbrechen:

%Vor%

Übergeben Sie es dann an Ihre Methode und rufen Sie r.run(); auf, wo Sie es brauchen:

%Vor%     
assylias 18.10.2012, 13:16
quelle
3

Nun, da es in Java keine Delegates gibt (oh C #, vermisse ich dich so schlecht), kannst du das tun, indem du eine Klasse erstellst, die eine Schnittstelle, vielleicht ausführbare oder irgendeine benutzerdefinierte Schnittstelle implementiert und dann deine Methode aufruft durch die Schnittstelle.

    
HericDenis 18.10.2012 13:16
quelle
2

Funktionen können nicht direkt selbst übergeben werden. Sie könnten eine interface -Implementierung als Rückrufmechanismus verwenden, um den Anruf zu tätigen.

Schnittstelle:

%Vor%

Implementierung:

%Vor%

und übergeben Sie eine MyInterfaceImpl Instanz wie erforderlich an:

%Vor%     
Reimeus 18.10.2012 13:15
quelle
0

Der einfachste Weg ist die Verwendung von runnable Mal sehen, wie

%Vor%

lasst uns jetzt sehen, wie ich eine Funktion übergeben kann (ich werde keinen Lambda-Ausdruck verwenden)

%Vor%

Übergeben wir eine andere Funktion

%Vor%

Das ist es. glückliches großes Denken ...

    
Basheer AL-MOMANI 04.05.2016 08:18
quelle

Tags und Links