Size: a a a

Android Developers

2020 March 24

K

Kotor in Android Developers
Vadim Morozov
так в новой студии есть разные опции для запуска
к примеру если ты изменил только функционал но не трогал визуальную часть
я бы предложил перейти на новую
+ если у тебя линукс то выдели swap соразменро твоему RAM
Mac, и новая и старая студия тормозят :(
источник

I

Ivan in Android Developers
Vadim Morozov
да, делаю
ок, тогда как делаешь:

если pos == NO_POSITION, вообще не вешаешь listener или просто не прокидываешь клик
источник

I

Ivan in Android Developers
Dmytro Borysov
может если, ты удаляешь элементы, а в он бинде у тебя кликлисенеры вешаются
не, так не далаю, но мне кажется в твоём случае, скорее, получишь неверную позицию, а не -1
источник

DB

Dmytro Borysov in Android Developers
Ivan
ок, тогда как делаешь:

если pos == NO_POSITION, вообще не вешаешь listener или просто не прокидываешь клик
Если у тебя такое вылезло, то тебе нужно обновлять элементы, чтобы они обновили свои лямбды на клик. Это проверкой ты только лишаешь краша, если был кликнут первый элемент
источник

VM

Vadim Morozov in Android Developers
Ivan
ок, тогда как делаешь:

если pos == NO_POSITION, вообще не вешаешь listener или просто не прокидываешь клик
что то типа
    override fun onClick(v: View?) {
       if (adapterPosition > RecyclerView.NO_POSITION) listener?.onListItemClick(itemViewId = code)
   }
источник

VM

Vadim Morozov in Android Developers
Kotor
Mac, и новая и старая студия тормозят :(
хз, на маках вроде как всё ок должно быть
смотря какая модель конеш
источник

I

Ivan in Android Developers
Vadim Morozov
что то типа
    override fun onClick(v: View?) {
       if (adapterPosition > RecyclerView.NO_POSITION) listener?.onListItemClick(itemViewId = code)
   }
ага, то есть просто дропаешь клик, спасибо. сейчас ревьювлю код и вижу, что у меня вообще не вешается клик, если позиция == -1
источник

VM

Vadim Morozov in Android Developers
Kotor
Mac, и новая и старая студия тормозят :(
на медиуме были статейке по оптимизации, так на скорую руку не пайду
источник

VM

Vadim Morozov in Android Developers
Ivan
ага, то есть просто дропаешь клик, спасибо. сейчас ревьювлю код и вижу, что у меня вообще не вешается клик, если позиция == -1
😉👍
источник

DB

Dmytro Borysov in Android Developers
Vadim Morozov
что то типа
    override fun onClick(v: View?) {
       if (adapterPosition > RecyclerView.NO_POSITION) listener?.onListItemClick(itemViewId = code)
   }
а где сам лисенер вешаешь? в онБинд?
источник

I

Ivan in Android Developers
Dmytro Borysov
а где сам лисенер вешаешь? в онБинд?
если в онбинд, то это ошибка, достаточно серьёзная
источник

I

Ivan in Android Developers
Dmytro Borysov
а где сам лисенер вешаешь? в онБинд?
лучше в onViewAttached вешать и в detached снимтаь
источник

VM

Vadim Morozov in Android Developers
Dmytro Borysov
а где сам лисенер вешаешь? в онБинд?
    init {
       itemView.setOnClickListener(this)
   }
источник

I

Ivan in Android Developers
Vadim Morozov
    init {
       itemView.setOnClickListener(this)
   }
а где снимаешь?))
источник

VM

Vadim Morozov in Android Developers
Ivan
а где снимаешь?))
снимаю?) не понял
источник

I

Ivan in Android Developers
Vadim Morozov
снимаю?) не понял
temView.setOnClickListener(null)
источник

I

Ivan in Android Developers
Vadim Morozov
снимаю?) не понял
Ну, чисто теоритически, было бы неплохо как вешать listener, так и снимать его. Соотвественно, подходят симмитричные методы жц
источник

VM

Vadim Morozov in Android Developers
Ivan
temView.setOnClickListener(null)
это избыточное
я пробрасываю листенере в адаптер на этом всё
источник

DB

Dmytro Borysov in Android Developers
Vadim Morozov
    init {
       itemView.setOnClickListener(this)
   }
Это инит вьюхоледра же?
источник

VM

Vadim Morozov in Android Developers
Dmytro Borysov
Это инит вьюхоледра же?
верно
источник