Это не может быть выведено.Он использует приведение - return (T)
.Вызывающая сторона отвечает за то, чтобы тип T соответствовал типу отображаемого вида.Если они ошибаются, операция завершится с ClassCastException
.
типом, который может быть указан явно, т. Е.
this.<TextView>findViewById(R.id.someTextView)
(извините, если у меня есть этот синтаксиснеправильно - я в основном имею дело с Kotlin)
или это может быть выведено из пункта назначения:
TextView foundView = findViewById(R.id.someTextView)
, но в любом случае ответственность лежит на звонящем.
Инструментарий Android может выполнять дополнительную работу по перекрестной ссылке на компоновку XML с кодом и создавать предупреждения или сбои в вашей среде IDE, но это уровень времени компиляции поверх того, что Java выполняет во время выполнения.
Он не имеет ничего общего с аннотацией @IdRes
, которая должна утверждать - опять же во время компиляции - что параметр id
является ссылкой на идентификатор некоторой сущности на основе XML, а не просто любым целочисленным значением.