Как использовать ViewBindings для нескольких макетовAndroid

Форум для тех, кто программирует под Android
Anonymous
Как использовать ViewBindings для нескольких макетов

Сообщение Anonymous »

Я перехожу с kotlinx.android.synthetic на ViewBindings.
У меня есть два макета (для телефонов и планшетов) с одинаковым набором идентификаторы:

Код: Выделить всё

class GameActivity: AppCompatActivity() {
lateinit var binding: ViewBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
if (AppData.instance.isTablet)
binding=ActivityGameTabletBinding.inflate(layoutInflater)
else
binding=ActivityGamePhoneBinding.inflate(layoutInflater)
setContentView(binding.root)
val btn=binding.menuBtn //no such property
}
...

}
Проблема в том, что привязка содержит только одно корневое свойство.
Поэтому я вынужден вернуться к старый getViewById. Есть ли способ использовать функции viewBinding для разных макетов?

Подробнее здесь: https://stackoverflow.com/questions/786 ... le-layouts

Вернуться в «Android»