Я пытаюсь перенести функцию с java на kotlin, но у меня довольно много проблем. Исходный код java выглядит следующим образом:
setOnTaskCompletedListener(task, result -> {
final String s = result.getText();
reco.close();
Log.i(logTag, "Recognizer returned: " + s);
setRecognizedText(s);
});
private <T> void setOnTaskCompletedListener(Future<T> task, OnTaskCompletedListener<T> listener) {
s_executorService.submit(() -> {
T result = task.get();
listener.onCompleted(result);
return null;
});
}
Это мой kotlin преобразованный код:
private fun <T> setOnTaskCompletedListener(task:Future<T>, listener: OnTaskCompletedListener<T>){
s_executorService.submit({
val result = task.get()
listener.onCompleted(result)
});
}
, и именно здесь мой код возвращает ошибку:
setOnTaskCompletedListener(task, { result ->
val s = result.getText()
reco.close()
Log.i(logTag, "Recognizer returned: " + s)
setRecognizedText(s)
})
Я продолжаю получать эту ошибку через "{result -> ...}":
Type mismatch: inferred type is (???) -> Unit but OnTaskCompletedListener<???> was expected
Я что-то не так делаю?