Для инициализации свойства в блоке init {}
Вы можете назначить тип и затем инициализировать его позже после выполнения некоторых задач в блоке init {}.
val binding: pendaftaranBinding
init{
...
binding = DataBindingUtil.inflate(inflater, R.layout.pendaftaran, container, false)
...
}
To позже инициализируйте его в коде
Если вы не хотите инициализировать при построении класса, а вместо этого инициализировать его позже в коде, вы можете использовать модификатор lateinit :
lateinit var binding: pendaftaranBinding
fun someFunction() {
...
binding = DataBindingUtil.inflate(inflater, R.layout.pendaftaran, container, false)
...
}
, чтобы к нему можно было получить доступ для всех методов
Я не понял эту строку, похоже, вам нужно что-то вроде stati c properties в java, инициализировать его вне класса. Это можно сделать с помощью объекта-компаньона в kotlin:
class YourClass {
companion object {
lateinit var binding: pendaftaranBinding
}
}
fun initializeBinding() {
YourClass.binding =
DataBindingUtil.inflate(inflater, R.layout.pendaftaran, container, false)
}