У меня есть настраиваемое представление типа A, которому нужна ссылка на другое представление типа B.
Я хотел бы установить ссылку на B на экране дизайна Android Studio, как и вы будет с атрибутом nextFocusLeft
. Например, с nextFocusLeft
, когда вы нажимаете кнопку выбрать ресурс на панели атрибутов, вы получаете список действительных идентификаторов для других представлений в макете.
Это то, что я пока что в моем values/attrs.xml
файле:
<declare-styleable name="AView">
<attr name="bView" format="reference" />
</declare-styleable>
Затем я объявляю свой AView
класс следующим образом (Kotlin):
class AView(context: Context, attrs: AttributeSet) : View(context, attrs) {
private var bViewId: Int = -1
@IdRes
@InspectableProperty(name = "bView")
fun bViewId() : Int {
return cameraViewId
}
fun bViewId(@IdRes value : Int) {
cameraViewId = value
}
}
Это заставляет атрибут появляться на экране дизайна в порядке. Однако, когда я нажимаю кнопку « выбрать ресурс », я получаю список ресурсов String вместо ресурсов ID, которые мне нужны.
What я здесь скучаю? Почему я не получаю список идентификаторов?