Создание несвязанного сервиса в Котлине

Я пытаюсь создать простую несвязанную службу в котлине, но я не могу. Когда я переопределяю метод onBind() в Java, я могу вернуть null, но в kotlin говорится, что мне разрешено возвращать IBinder, а не IBinder?, это означает, что он не может быть null. Любые идеи, как исправить это, кроме перезаписи класса MyService на Java?

[SOLVED] Спасибо, ребята! Я могу реально изменить IBinder на IBinder?. Это работает!

4b9b3361

Как упоминал Энрико, вы можете изменить тип IBinder на IBinder?, и он все равно будет соответствовать интерфейсу.

В целом, будьте осторожны при использовании Android Studio для переопределения методов Android. Реальная проблема возникает, когда она генерирует непустой тип, когда система действительно может возвращать нулевую ссылку. Это вызывает исключения времени выполнения kotlin, которые вы действительно не ожидаете.

Если я правильно помню, у меня было много проблем при перегрузке класса Fragment и методов, связанных с созданием View.

11
21 июля '16 в 10:43
источник