Конвертировать модуль Kotlin в Java Void - PullRequest
0 голосов
/ 06 января 2019

Я использую RxBinding для виджетов Android. Я хотел бы сделать следующее: Observable<java.lang.Void> obs = RxView.clicks(button);
Но я получаю ошибку во время компиляции, говорящую, что ожидаемый тип - kotlin.Unit. RxView.clicks(button) возвращает Observable<Unit>, но я не думаю, что Java имеет тип данных Unit.
Как получить Observable<Void> в Java?

1 Ответ

0 голосов
/ 07 января 2019

Вы можете жить с Observable<Unit> в Java. kotlin.Unit - это файл класса, доступный для Java-программ, как только kotlin-stdlib-<some version>.jar находится в вашем пути к классам, и он уже там, потому что это требуется для RxBinding.

Если, однако, для какой-то другой части вашей программы требуется Observable<Void>, ее можно получить с помощью:

 Observable<Unit> ou = RxView.clicks(button);
 Observable<Void> ov = ou.as(unit->null);
...