Articles of kotlin lateinit

lateinitVar не может быть разрешено использовать isInitialized от Kotlin 1.2.10

Я хочу использовать эту функцию самая простая вещь, как в примере, не работает для меня: lateinit val foo = 1 val bar = foo::lateinitVar.isInitialized() Но я получаю unresolved reference lateinitVar Я использую Kotlin 1.2.10 через gradle в Android-Studio (также установлен плагин Kotlin 1.2.10)

Kotlin с Spring DI: свойство lateinit не было инициализировано

Я не получаю инъекцию зависимостей зависимостей Spring-based setter в Kotlin, чтобы работать, поскольку она всегда заканчивается сообщением об ошибке «свойство lateinit api не было инициализировано». Я мог бы свести проблему к следующему сценарию: есть интерфейс interface IApi { fun retrieveContent(): String } который реализуется class Api : IApi { override fun retrieveContent() = "Some Content" […]

Объект базы данных Singleton с параметризованной инициализацией при запуске?

Я пытаюсь создать единый экземпляр базы данных, который может использоваться несколькими классами (используя ключевое слово object в Котлине). Однако я хотел бы указать имя базы данных до создания экземпляра singleton. Поскольку одноэлементный объект не может быть инициализирован параметром, мне было интересно, действительно ли то, что я делаю, или если есть лучший способ делать вещи: object […]

Как правильно реализовать lateinit с пользовательскими объектами класса для использования в onCreate () в android, избегая ошибки Property getter или setter expected

Я пытаюсь реализовать интеграцию агента Dialogflow (ранее api.ai) с моим Android-приложением, используя Kotlin. Я проверил другие вопросы и ответы о kotlin lateinit а жизненный цикл onCreate () в Android идеально подходит для реализации в конце-начале, чтобы избежать написания грязного кода с нулевыми объектами и соответствующими !! и ? Доступ в Котлин. Но при попытке lateinint […]

Является ли ключевое слово lateinit ненужным?

Я изучаю Котлин, и чтение о lateinit слове lateinit заставляет меня сомневаться в его полезности. Рассмотрим этот код: var testString: String? = null lateinit var lateTestString: String fun print() { print(testString?.length) print(lateTestString.length) } Здесь единственное различие в получении длины строки – это проверить, является ли она нулевой или нет, используя ?. оператор. Использует lateinit ярлык […]

Уведомляется, когда lateinit var был инициализирован (Kotlin)

Это прямой вопрос, но я не могу найти ответ. Есть ли способ получить уведомление, когда в lateinit var был инициализирован lateinit var ? Я знаю, что могу проверить, был ли он инициализирован this::coolvar.isInitialized но это не то же самое. спасибо

латинит, ленивый и одноэлементный узор в котлине

Я пытаюсь преобразовать часть моего проекта из java в kotlin . Один из них – это один менеджер-менеджер. Класс java выглядит следующим образом: public class Manager { private static volatile Manager Instance = null; private static final Object InstanceLock = new Object(); private Manager(Object1 object1, Object2 object2, Object3 object3){//…}; public static boolean isInitialized(){ synchronized(InstanceLock){ return […]

Kotlin – Как сделать поле только для чтения для внешних классов

У меня есть следующий класс Kotlin на Android: class ThisApplication: Application() { lateinit var network: INetwork override fun onCreate() { super.onCreate() network = Network() } } Теперь любой внешний класс может получить ссылку INetwork, просто выполнив: application.network Однако это также позволяет внешнему классу перезаписать это значение: application.network = myNewNetworkReference Я хочу избежать второго варианта. К […]

свойство lateinit не инициализируется при восстановлении активности

В моей деятельности у меня есть свойство lateinit называемое controller которое использует мой Фрагмент. Это свойство инициализируется в Activity.onCreate() . Мой Fragment возвращает ссылку на мою Activity через onAttach() . Затем Fragment вызывает myActivity.controller в Fragment.onCreate() . Обычно controller сначала инициализируется в Activity.onCreate() , после чего добавляется Fragment . Так что это работает отлично. Но […]

isInitialized – Поле поддержки lateinit var недоступно на данный момент

Я пытаюсь проверить, было ли свойство lateinit инициализировано. В Kotlin 1.2 мы теперь имеем isInitialized метод для этого. Он работает, когда я делаю это в классе, где объявляется свойство lateinit. Но когда я пытаюсь вызвать это из другого класса, я получаю следующее предупреждение: В этот момент недоступно поле «lateinit var foo: Bar» Мой класс модели […]

Intereting Posts
Можно ли определить значение по умолчанию для функции параметра? Почему тернарный оператор не «работает» в Котлине? Ввод / вывод дженериков для абстрактного контейнерного инструмента в Котлине? Kotlin – Список сортировки с использованием форматированной строки даты (функциональной) Только последний элемент добавлен в RecyclerView в Android (Kotlin) Веб-приложение Kotlin | ссылка css-файл Android Studio демонстрирует предупреждение зависимостей Kotlin после второй сборки Использование объекта-компаньона для возврата экземпляра класса в Котлин Сократить «настройку времени компиляции» для Kotlin с Maven Утверждение с сообщением об ошибке в Котине Kotlin, ориентированный на Java interop: Идиоматический тип для ленивой коллекции? Почему переменные Kotlin Pair не изменяются? Жалоба EmptyClassBlock на Json TypeToken Детективы Котлина Java -> Преобразование Kotlin с необработанными типами