Android: Как создать атрибут ссылки на идентификатор типа (mimi c поведение View :: nextFocusDown) - PullRequest
0 голосов
/ 11 июля 2020

У меня есть настраиваемое представление типа 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 я здесь скучаю? Почему я не получаю список идентификаторов?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...