Это ваш пример:
val editText = EditText(this)
editText.id = 5
val test = findViewById<EditText>(5)
Это не работает, потому что '5' не является допустимым идентификатором, потому что идентификатор должен быть шестнадцатеричным int и должен отличаться от идентификатора других представлений.,Поэтому лучший способ достичь своей цели - сделать что-то вроде этого:
val editText = EditText(this)
editText.id = View.generateViewId()
val test = findViewById<EditText>(editText.id)
В соответствии с документами для View.generateViewId()
:
Создать значение, подходящее для использования в setId(INT).Это значение не будет конфликтовать со значениями идентификатора, сгенерированными во время сборки aapt для R.id.
Но я не знаю, зачем вам нужен «тестовый» EditText, так что у вас будет2 Объект EditText, который ссылается на то же представление.