Описание тега kotlin-delegate
Шаблон делегирования оказался хорошей альтернативой наследованию реализации, и Kotlin поддерживает его, изначально не требуя шаблонного кода.
0
ответов
Делегат Kotlin с MultiDex на Android ниже 21
У меня есть следующий делегат... fun integerPref(initialValue: Int) = object : ObservableProperty<Int>(initialValue) { override fun afterChange(property: KProperty<*>, oldValue: Int, newValue: Int) { getSharedPreference(INTEGER_PREF, Eas…
10 ноя '17 в 06:59
1
ответ
Как объединить делегированное свойство kotlin: наблюдаемое, вето и "по карте"?
Я пытаюсь объединить делегаты / observable с vetoable (что не является проблемой после просмотра исходного кода kotlin.properties.Delegates.kt), но все становится неоправданно, когда я пытаюсь также сохранить свойства на карте. Или, другими словами,…
15 окт '18 в 02:55
0
ответов
Привязка данных Android не работает с делегацией классов Kotlin
Моя ViewModel: class MyVM( app: Application, private val observableImpl: BaseObservable, /* other colaborators*/ ) : AndroidViewModel(app), Observable by observableImpl { var currencyCode: String by Delegates.observable("") { _, _, newValue -> /*…
08 янв '18 в 09:25
1
ответ
Как реализовать ленивое свойство в Котлине, которое требует другого свойства?
Мне нужен прямоугольник, который нужно инициализировать при вызове. Вот мой код; class EpheButton private constructor( private val text: String, private val x: Float, private val y: Float, private val projectionMatrix: Matrix4) : Disposable { privat…
05 дек '17 в 23:47
6
ответов
Вызов (базовая) делегированная функция при использовании делегирования класса из переопределения
При переопределении метода интерфейса, реализуемого делегированием класса, возможно ли вызвать класс, который обычно делегируется из переопределяющей функции? Подобно тому, как вы бы назвали super при использовании наследования. Из документации: int…
14 дек '17 в 10:23
1
ответ
Можно ли обеспечить несколько типов делегатов одним классом?
Я хотел бы предоставить несколько разных делегатов из одного класса с разными типами. Например: class A { val instanceOfB = B() val aNumber: SomeType by instanceOfB val anotherNumber: SomeOtherType by instanceOfB } class B { operator fun <T1: Som…
27 июн '18 в 22:17
1
ответ
Делегация вложенного имущества в Котлине
Как упоминалось в официальном руководстве, мы можем хранить свойства на карте и делегировать ей класс: class User(val map: Map<String, Any?>) { val name: String by map val age: Int by map } Однако иногда мы храним на карте нетривиальные структ…
05 мар '19 в 03:45
3
ответа
Android-студия не может разрешить импорт
Я пытаюсь работать над примером проекта, чтобы изучить MvRx. Тем не менее, кажется, что-то не так. Android Studio не может найти и импортировать activityViewModel автоматически. 1) Я попытался импортировать его вручную, написав имя пакета, но оно вс…
04 апр '19 в 19:51
1
ответ
(де) сериализация свойств делегата kotlin с помощью jackson
Как я могу (де) сериализовать свойства делегата kotlin с помощью jackson. У меня есть такой класс class MyClass { var a: Int = 42 set(value) { val changed = field != value field = value if (changed) notifyListeners() } ... and a dozen other properti…
03 янв '20 в 16:50
0
ответов
`KProperty.returnType` выбрасывает" ʻIllegalStateException` Неполная иерархия для класса "только в` release runtime`
Это проект Android У меня есть такой делегат class Myclass : ReadOnlyProperty<Any, T> { override fun getValue(thisRef: Any, property: KProperty<*>): T = when(property.returnType){ asdasdasd... } as T } Он отлично работает при отладке, но…
06 май '20 в 10:22
1
ответ
Как вложить несколько делегатов свойств в Котлин
Я столкнулся со случаем, когда я хочу "связать" несколько делегатов (соединяя выходные данные одного с другим). Кажется, это возможно: private val errorLogList by listSO(listOf<StateObject<Luxeption>>(), SODest.NONE, publicSOAccessRights…
08 фев '20 в 01:01
0
ответов
Неподдерживаемое делегирование без основного конструктора
У меня возникла проблема с делегированием kotlin, когда я хочу делегировать реализацию интерфейса переменной. Проблема в том, что у суперкласса есть другие конструкторы, которые я действительно не хотел бы терять. interface Delegate class CustomView…
06 июн '20 в 06:07
0
ответов
Как можно протестировать Delagetes.observable в BroadcastReceiver?
Как я могу протестировать Delegates.Observable, который находится внутри BroadcastReceiver. Мне нужно получить уровень заряда батареи устройства и проверить, не упал ли он ниже или выше заранее определенного критического уровня, и загрузить на серве…
28 янв '20 в 14:17
1
ответ
NullPointerException (NPE) при использовании делегата свойства Kotlin с помощью
У меня есть класс, который принимает вводимые пользователем данные в текстовое поле и преобразует их в любой класс, используя предоставленные функции. class GenericTextFieldDelegate<T>( private val initBlock: () -> TextView, private val get…
28 июл '20 в 01:03
2
ответа
Свойство делегата Kotlin вызывает ошибку рендеринга предварительного просмотра в Android Studio
Я создал настраиваемое свойство, предназначенное для хранения свойств представления, которые требуют вызова invalidate() для одного из моих проектов: class InvalidatingProperty<T>(private var _value: T) { operator fun getValue(thisRef: View, p…
18 авг '20 в 21:12
1
ответ
Внедрение конструкции кинжала с делегированием класса Kotlin
У меня есть следующий класс Kotlin: @ExperimentalCoroutinesApi class SharedPrefClient @Inject constructor(private val prefs: SharedPreferences) : SharedPreferences by prefs { ... } В Dagger я получаю следующую ошибку при сборке проекта: ht tps:https…
19 ноя '19 в 12:06
1
ответ
Android Получить ViewModelScope, чтобы его можно было использовать в делегировании интерфейса
Мой viewModel реализует интерфейс путем делегирования следующим образом: class ProductViewModel(item: Product) : ViewModel(), ItemInterface by ItemDelegator(item) Теперь внутри мне нужен CoroutineScope привязанный к ViewModel Я просто не могу ItemIn…
25 фев '21 в 21:45
1
ответ
В Kotlin, почему абстрактный класс не может быть делегирован с использованием ключевого слова «by», как и интерфейс.
interface IA { fun callMe() } abstract class AbstractA { abstract fun callMe() } // Allowed class ImplementationA(a: IA): IA by a //Why this is Not Allowed ? class ImplementationA(a: AbstractA): AbstractA() by a Я не смог найти какой-либо удовлетво…
10 май '21 в 10:55
1
ответ
Десериализация объекта в класс данных, содержащий делегированные свойства (наследование с делегированием)
Ваш вопрос Я проверил проблемы и документы и не нашел решения. Следующий код правильно сериализует объект () в строку, но десериализацию из строки обратно в элементы Component не работает. Есть предложения, как это сделать, не удаляя делегации? Спас…
26 июн '21 в 22:46
2
ответа
ReadOnlyProperty делегата Kotlin с дозой значения общего типа некорректно приводится в getValue
Я ожидаю увидеть результат black white с кодом ниже package delegate import kotlinx.coroutines.runBlocking import kotlin.properties.ReadOnlyProperty import kotlin.reflect.KProperty open class Color(private val name: String) { override fun toString()…
23 окт '21 в 16:41