Intereting Posts
Функция Pass, которая получает параметры как параметр для расширения класса Информация не загружается должным образом в firebase-firestore Почему построение Gradle исходного кода Kotlin приостанавливается на ~ 3 секунды «заставляя System.gc ()»? Связанная ссылка на вызов не работает с реактором Подписаться Как оживить анимационный список в Котлине? IndexOutOfBoundsException для for-loop в Котлине Как создать анонимный интерфейс интерфейса? В чем разница между оператором «как» и «есть» в Котлине? Вызов функции более высокого порядка Kotlin из Java Значение ObservableField не распространяется Как переустановить уже запущенную службу поддержки музыкальных плееров Не может быть предоставлен без @ Предоставляет-аннотированный метод Связывание данных Kotlin Android studio errors Spring Boot 2.0.0.M7, Kotlin, Gradle – bean не удалось найти Почему вы не можете указывать петли var / val в Котлине?

Kotlin + MVP – случайное переопределение

Я использую Kotlin & MVP вместе и наткнулся на немного раздражения.

Я получаю ошибку «случайного переопределения» (как вы можете сказать ниже). Существуют ли какие-либо резолюции для этого, помимо изменения имени переменной-члена или getX () в интерфейсе MainView.

Из того, что я исследовал, нет способа предотвратить котлин от генерации геттера для «х».

class MainActivity : Activity(), MainView { val x: String // Accidental override override fun getX(): String { return x } } interface MainView { fun getX(): String } 

Вы можете сделать ваше имущество private чтобы предотвратить генерирование геттера для него:

 private val x: String = "" 

Кроме того, вы можете сделать это простое поле Java вместо свойства с аннотацией @JvmField :

 @JvmField val x: String = ""