Как автоматически реализовать / генерировать методы в kotlin, как в Java - PullRequest
0 голосов
/ 18 декабря 2018

Так что я довольно новичок в kotlin.Как вы поступаете в Котлине (в части подписки)?

animalObservable
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(new Observer<String>() {
                @Override
                public void onSubscribe(Disposable d) {

                }

                @Override
                public void onNext(String s) {

                }

                @Override
                public void onError(Throwable e) {

                }

                @Override
                public void onComplete() {

                }
            });

В Java все, что мне нужно сделать, это набрать "новый Обь" и нажать ввод.Затем он автоматически генерирует методы, которые должны быть реализованы.(выше)

Это единственный способ, которым я понял это в Котлине.Я должен набрать следующее:enter image description here

Я уверен, что должен быть другой способ сделать это?

1 Ответ

0 голосов
/ 19 декабря 2018

Вы правы: для создания анонимного класса вы должны использовать выражение объекта .Таким образом, в вашем примере вы бы поступили в точности так, как вы заявили выше, а именно:

...
.subscribe(object : Observer<String>() {
    // Implementation of interface goes here
})

IntelliJ выделит ключевое слово object красным кричащим сообщением о том, что он не реализует интерфейс, поэтому вы можете затемщелкните по нему и нажмите Alt + Enter (в Linux), что даст вам возможность реализовать элементы Observer.

В качестве альтернативы вы можете нажать внутризаблокируйте блок и используйте обычный ярлык (например, Ctrl + O в Linux), чтобы открыть диалоговое окно «Переопределить элементы», показанное выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...