Предположим, что макет в вашем вопросе activity_main.xml
. Сгенерированный класс привязки вида для него ActivityMainBinding
. Точно так же для item_header.xml
сгенерированная привязка представления имеет вид ItemHeaderBinding
.
. Если мы представим, что item_header.xml
имеет TextView
с именем @+id/foo
, то вы получите этот фрагмент Kotlin :
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val mainBinding = ActivityMainBinding.inflate(layoutInflater)
setContentView(mainBinding.root)
mainBinding.myHeader.foo.text = "this is a test"
}
}
Таким образом, объект ActivityMainBinding
должен иметь свойство с android:id
, которое вы дали <include>
- myHeader
в этом случае. Это должно быть ItemHeaderBinding
, так как привязка вида, по-видимому, устанавливает вложенный объект привязки для <include>
. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * '*' * Не '' * '>)
Обратите внимание, что привязка вида конвертирует lower_snake_case
в lowerCamelCase
таким образом, my_header
ID превращается в myHeader
с точки зрения сгенерированного кода.