Appeler la complétion de kotlin en java


Sean Calkins

J'ai une méthode de requête Web kotlin qui prend une fonction comme paramètre. En raison de la configuration d'une de mes classes, je dois la conserver en tant que classe java, mais je dois appeler la méthode de requête Web à partir de la classe java.

J'ai une classe appelée Lockque je récupère de ma base de données en utilisantFuel

Ma méthode kotlin est la suivante

fun fetchLocks(completion: (Array<Lock>) -> Unit) {
  // asynchronous api calls that aren't relevant.
  completion(locks)
}

Je sais que cette méthode fonctionne et je peux l'appeler à partir d'un fichier kotlin

FuelHelper().fetchLocks { locks ->
  Do stuff with my locks
}

Le problème que je rencontre est d'obtenir la syntaxe appropriée pour appeler cette méthode en java.

new FuelHelper().fetchLocks();

Le paramètre que java attend est (Function1<?super Lock[], Unit>)

J'ai essayé pendant un certain temps maintenant et je suis incapable de surmonter cela. Toute aide serait appréciée.

Jin

En supposant que vous utilisez la syntaxe java 8.

new FuelHelper().fetchLocks(locks -> {
    ...
});

Ou sans lambda

new FuelHelper().fetchLocks(new Function1<Lock[], Unit>() {
        @Override
        public Unit invoke(Lock[] locks) {
            return null;
        }
    });

Articles connexes


Comment appeler ce gestionnaire de complétion?

Kashif Je travaille avec Swift et je dois appeler cette méthode pour appeler des services Web. Je suis confus d'obtenir une erreur dans le gestionnaire d'achèvement. func makePost(serverURL: String, params: Dictionary<String,String>, completionHandler:(data:St

Appeler la fonction en ligne Kotlin à partir de Java

aristotll Exceptions.kt: @Suppress("NOTHING_TO_INLINE") inline fun generateStyleNotCorrectException(key: String, value: String) = AOPException(key + " = " + value) À kotlin: fun inKotlin(key: String, value: String) { throw generateStyleNotCorrectE

Comment appeler la clé de classe Kotlin en Java?

Ours de vacances Nous créons le module Dagger pour fournir la classe comme suit, mais nous rencontrons le problème. CustomHelperest classe * de .kt, si nous utilisons CustomHelper::classdans @ClassKey, il ne sera pas reconnu en Java et obtenir erreur de syntax

Appeler la fonction Kotlin en Java

Anto: Je suis néophite à Kotlin. J'ai besoin d'appeler une méthode dans une classe créée dans Kotlin à partir d'une classe Java. La classe en question concerne la création de la base de données. @Database(entities = arrayOf(Indirizzo::class, Dispositivo::class

Appeler sa propre fonction avec un gestionnaire de complétion

da1lbi3 J'ai une méthode pour créer un compte : func createAccount (completion: @escaping (_ succes: Bool, _ message : String)->()) { Auth.auth().createUser(withEmail: createMail(), password: createPassword()) { (result, error) in if let _eror = er

Swift - gestionnaire de complétion en boucle

user979331 J'ai une méthode avec un gestionnaire de complétion func postLandGradingImages(cellHolder: Array<ImagesData>, completionHandler:@escaping (_ result:Bool) -> Void) { //Define bool for returning data var returnedResults = false

Gestionnaire de complétion en fonction

JordanieSkyn J'ai une fonction qui ressemble à ceci, et j'ai essayé d'ajouter un completionHandlerdans le code ci-dessous : func getValueFromAPI(completionHandler: (_ result: Bool) -> Void){ apii.getVehicle(id!).done { (vehicle: Vehicle) -> Vo

Fonction de complétion automatique Java

QFireball Je travaille sur un Displaykeyboard pour les personnes handicapées et j'envisage d'ajouter une fonction de saisie automatique des mots. J'ai trouvé un exemple d'oracle qui fonctionne comme j'en ai besoin. C'est un autre exemple : TextAreaDemo. Le pro