Есть ли другой способ написать этот код без использования типизированного массива.
Нет, поскольку класс TypedArray
должен содержать приписанные значения Android ресурсы.
Однако , вы можете использовать расширения Android KTX Core in Kotlin, чтобы сделать его короче:
context.withStyledAttributes(attributeSet, R.styleable.CalculatorInputView) {
val textResource = getString(R.styleable.CalculatorInputView_item_text)
}
Помните, что вам нужно включить их в ваш build.gradle
:
implementation "androidx.core:core-ktx:1.2.0"