У меня есть пользовательское представление с некоторыми пользовательскими атрибутами.
class SomeCustomView @JvmOverloads constructor(
context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
) : ConstraintLayout(context, attrs, defStyleAttr) {
Понятно, как получить атрибуты здесь:
val a = context.theme.obtainStyledAttributes(attrs, R.styleable.SomeCustomView, 0, 0)
try {
someAttribute = a.getInt(R.styleable.SomeCustomView_swomeAttribute, DEFAULT_VALUE)
//...
} finally {
a.recycle()
}
Компоновка представления завышена на
inflate(context, R.layout.some_view, this)
Дело в том, чтоR.layout.some_view
содержит другое пользовательское представление в качестве одного из его дочерних элементов, которое не должно отображаться (ChildCustomView
).
Вопрос в том, как получить атрибуты, установленные для SomeCustomView
внутри ChildCustomView
?