Size: a a a

StartAndroid Ru Chat

2021 February 17

АК

Анатолий Колосков... in StartAndroid Ru Chat
А что это за библиотека я это с примера брал
источник

ES

Egor Sigolaev in StartAndroid Ru Chat
Иван Захаров
забей на синтетики, используй обычную инициализацию на уровне класса
private val navView: NavigationView get() = findViewById(R.id.nav_view)
Вьюбиндинг придумали еще, findViewById уже в прошлом, в джавке
источник

АК

Анатолий Колосков... in StartAndroid Ru Chat
Я котлин пытаюсь
источник

АК

Анатолий Колосков... in StartAndroid Ru Chat
Разобраться
источник

ИЗ

Иван Захаров... in StartAndroid Ru Chat
Egor Sigolaev
Вьюбиндинг придумали еще, findViewById уже в прошлом, в джавке
лично я не очень нюблю писать код внутри xml, так что getById кается удобнее, да и занимает всего 1 строчку, так же как и внутри xml
источник

ES

Egor Sigolaev in StartAndroid Ru Chat
Иван Захаров
лично я не очень нюблю писать код внутри xml, так что getById кается удобнее, да и занимает всего 1 строчку, так же как и внутри xml
Эм, во вью биндинге нет доп кода внутри xml
источник

ES

Egor Sigolaev in StartAndroid Ru Chat
Такое в датабиндинге только, и там как раз кодоген бесит)
источник

ИЗ

Иван Захаров... in StartAndroid Ru Chat
Egor Sigolaev
Эм, во вью биндинге нет доп кода внутри xml
ок, спс, я как то и упустил его появление, думал всё про датабиндинг говорят
источник

ES

Egor Sigolaev in StartAndroid Ru Chat
Иван Захаров
ок, спс, я как то и упустил его появление, думал всё про датабиндинг говорят
Датабиндинг != вьюбиндинг, я раньше тоже так думал, что это одно и тоже
источник

YN

Yerlan Nurakhmetov in StartAndroid Ru Chat
Анатолий Колосков
А что это за библиотека я это с примера брал
синтетики уже успели устареть, используй View binding )
источник

ДР

Дмитрий Рубцов 🇷🇺🔥... in StartAndroid Ru Chat
Иван Захаров
забей на синтетики, используй обычную инициализацию на уровне класса
private val navView: NavigationView get() = findViewById(R.id.nav_view)
не стоит юзать findViewById при каждом обращении к вью, это занимает время
источник

ИЗ

Иван Захаров... in StartAndroid Ru Chat
Дмитрий Рубцов 🇷🇺🔥
не стоит юзать findViewById при каждом обращении к вью, это занимает время
если всё через viewModel то обращение происходит всего 1 раз в onCreate, и это себя оправдывает, не надо лишние переменные заводить

а если много раз в разных местах активити, тогда да
источник

ДР

Дмитрий Рубцов 🇷🇺🔥... in StartAndroid Ru Chat
причем тут вьюмодель? я говорю что в твоей реализации с get() = findViewById у тебя при обращении к вьюхе каждый раз вызывается findViewByid
источник

ДР

Дмитрий Рубцов 🇷🇺🔥... in StartAndroid Ru Chat
тут лучше lazy подойдет
источник

Ф

Фёдор in StartAndroid Ru Chat
А зачем здесь сделан геттер с !!?
источник

Ф

Фёдор in StartAndroid Ru Chat
А, понял
источник

ИЗ

Иван Захаров... in StartAndroid Ru Chat
Дмитрий Рубцов 🇷🇺🔥
причем тут вьюмодель? я говорю что в твоей реализации с get() = findViewById у тебя при обращении к вьюхе каждый раз вызывается findViewByid
а я говорю что я этот гет вызову только 1 раз в onCreate, когда сделаю
myView.apply{
   setOnClickListener…
   setColor…
   setVisibility…
}

но если к этой вьюшке будет обращение в разных местах активити, тогда да, лучше вынести в отдельную переменную и переинициализировать её
источник

ДР

Дмитрий Рубцов 🇷🇺🔥... in StartAndroid Ru Chat
так ты уже ее вынес в переменную, зачем усложнять)
источник

ИЗ

Иван Захаров... in StartAndroid Ru Chat
Дмитрий Рубцов 🇷🇺🔥
так ты уже ее вынес в переменную, зачем усложнять)
я вынес геттер на неё, чтоб не писать лишнюю строчку
private lateinit var myView: View

myView = findViewById(R.id.my_view)
myView.apply{…}
источник

ДР

Дмитрий Рубцов 🇷🇺🔥... in StartAndroid Ru Chat
так у тебя в обоих вариантах две строчки выходит
источник