Size: a a a

Android Developers

2021 September 11

ОА

Оганнес Асатрян... in Android Developers
а че мы опять котлин обсуждаем?)
источник

L

Leonid in Android Developers
Согласен. У меня единственное место с lateinit - базовый класс фрагмента с view binding.
источник

ОА

Оганнес Асатрян... in Android Developers
о. а поделись. как ты сделал
источник

CF

C Y B E R F O X in Android Developers
Хм, с одной стороны фе, бизнес-логика, а с другой надо бы почитать про это всё, а то использовать вот такой костыль "android:configChanges="orientation|screenSize|keyboardHidden" для того что бы не вызывался метод onDraw как-то слишком банально и топорно.
источник

L

Leonid in Android Developers
Во-первых базовый класс фрагмента с generic-аргументом типа ViewBinding.

Во-вторых, нагугленное колдунство с reflection, которое через generic добирается до реального типа view binding и вызывает его inflate.

Единственное, что мне тут не нравится, это reflection. Но зато всё делается единообразно в одном-единственном месте.
источник

ОА

Оганнес Асатрян... in Android Developers
да я так и думал, что придется влезть в такое говно. раньше проще было
onCreateView = inflater.inflate(layoutResId,
в наследнике только определить файл разметки и все.
пасиб. попробую тоже
источник

L

Leonid in Android Developers
Если забить на reflection, то получаеся очень удобно:

class MyFragment: MyBaseFragment<MyFragmentBinding>() {

и всё!
источник

ОА

Оганнес Асатрян... in Android Developers
кек. а как же вм
источник

ОА

Оганнес Асатрян... in Android Developers
у меня и так уже вм там определяется
источник

L

Leonid in Android Developers
А шо там?
источник

ОА

Оганнес Асатрян... in Android Developers
базовый фрагмент <вм>
источник

L

Leonid in Android Developers
Так через запятую же.
источник

ОА

Оганнес Асатрян... in Android Developers
ахаха, да это понятно. у меня классы и по 5 дженериков есть.

https://github.com/JohnnySC/HolyBibleApp/blob/master/app/src/main/java/com/github/johnnysc/holybibleapp/data/core/BaseRepository.kt
источник

L

Leonid in Android Developers
А в чем тогда проблема?
источник

ОА

Оганнес Асатрян... in Android Developers
потому мне кажется нужно прийти к компоуз или же аля флатер стайл
когда кодом ебашишь юай
источник

ОА

Оганнес Асатрян... in Android Developers
проблем нет, но не хочется такую простую штуку таким образом решать
источник

L

Leonid in Android Developers
Если бы гугл догадался добавить в интерфейс ViewBinding все inflate/bind, то не пришлось бы так извращаться. Всё равно же в конкретном классе VB они есть.
источник

В

Виктор in Android Developers
А чего не nullable с backing-property? Или хотите чтобы покрасивее выглядело?
источник

L

Leonid in Android Developers
В базовом классе оно как раз по гугловскому мануалу, нуллабле + get!! + колдунство с reflection в onCreateView.
источник

В

Виктор in Android Developers
А можете показать что у вас там через reflection? Просто у меня там обычное присвоение, а базовая переменная типа ViewBinding
источник