Как передать идентификатор вида в Kotlin? - PullRequest
0 голосов
/ 17 февраля 2020

Я пытаюсь использовать Kotlin на Android. Мне нужно передать viewId функции, чтобы функция могла отображать текстовое представление.

Итак, я попытался создать функцию с входными данными: строка (будет отображаться) и идентификатор ( для места, где он будет отображаться):

Вызов:

ShowHello("Hello world", textView.id)

Функция:

    fun ShowHello(toshow:String, thisId:id ){ textView.text=toshow }

Но thisId:id не работает с «Неразрешенная ссылка: идентификатор»?

Любая помощь будет очень признательна.

1 Ответ

2 голосов
/ 17 февраля 2020

Если вы хотите передать идентификатор ресурса (например, идентификатор представления), вы можете использовать Int с аннотацией @IdRes, чтобы уточнить, что только идентификаторы ресурса (res) должны передаваться в этой позиции:

fun showHello(displayText: String, @IdRes viewId: Int)

Чтобы понять , почему это работает, посмотрите , как на ресурсы ссылаются . Каждый идентификатор ресурса сопоставляется с константой. Когда вы вызываете идентификатор в формате R.id.some_view_id, вы получаете целое число, которое ссылается на этот ресурс.

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