
Andrew
30.01.2017
10:12:11
@tagantroy смотри в сторону cicerone и делай роутер фрагментов в одной активити

Kolas
30.01.2017
10:31:26
а кто-нибудь тут сталкивался с проблемой, что ресайкл не обновляется на вызовы notifyItemInserted и notifyItemRemoved? у меня он обновляется только после того как я вручную поскроллю

Sergey
30.01.2017
10:32:12
скорее или ты обновляешь данные не в мейн потоке или просто там уже другой адаптер

Google

Kolas
30.01.2017
10:34:44

Sergey
30.01.2017
10:35:28
юзай соответствующие сервисы

Kolas
30.01.2017
10:36:41
юзай соответствующие сервисы
в ресайкле проблема с этим футером. либу юзать не хочется, самому хочется написать. в листвью это просто решалось вызовом метода addFooterView
пришлось в адаптер дописать логику для этого сраного футера

Sergey
30.01.2017
10:37:03
код?

Kolas
30.01.2017
10:37:43

Gleb
30.01.2017
10:40:21
Теперь к навороченому лэйаут дизайнеру запилили б ещё какой-нибудь drawables - designer цены бы им не было

Kolas
30.01.2017
10:40:43
код?
https://codeshare.io/5gLMv8
вот в одном из этих методов скорее всего проблема

Andrew
30.01.2017
10:41:27

Google

Kolas
30.01.2017
10:42:49

Andrew
30.01.2017
10:43:18
@kolasmacunis и кодшер не юзай его с телефона плохо смотреть, юзай gist

Sergey
30.01.2017
10:43:44
notifyItemRangeChanged(0, newRange); не делай так никогда!
посмотри видео с ИО про RecyclerView

Andrew
30.01.2017
10:44:21

Kolas
30.01.2017
10:45:48

Sergey
30.01.2017
10:46:06

Gleb
30.01.2017
10:46:36

Sergey
30.01.2017
10:46:41
альтернатива, setHasStableIds(true), getItemId() return reallyUniqId
смерть №2 ресайклера )

Gleb
30.01.2017
10:47:31

Sergey
30.01.2017
10:47:57
да хоть 100 вьютайпов

Gleb
30.01.2017
10:53:12
да хоть 100 вьютайпов
? прикольно
с однотипными вообще класс - я сначала мучался с этими позшнами, не понимал, хрень какая-то, потом после видюх про ресайклер)) понял простое правило - все операции с айтемами - строго по айдишникам - и прям прям перед нотифайем узнать у массива позицию по id.... ну либо не находил -1 - знач отбой - поздно.
любые попытки опираться на позиции когда у тя ресайклер ходуном ходит - обламываются

Sergey
30.01.2017
10:53:59
они реюзаются

Gleb
30.01.2017
10:55:02
они реюзаются
не.... id модели айтема, например _id колонка базы данных и тп

Sergey
30.01.2017
10:55:08

Andrew
30.01.2017
10:55:20
Если костыль нужно, то на бинде прописывать ид итема в тэг вью

Google

Sergey
30.01.2017
10:55:39
или на худой конец System.currentTime()
хотя нет )

Gleb
30.01.2017
10:57:43

Andrew
30.01.2017
10:59:01
Если кастомная обработка клика и данные из бд то свой лиснер в адаптер забрасываешь, при бинде пишешь ид в таг а лиснер вешаешь на инфлейте, в итоге у тебя таг всегда актуальный а лиснер один раз вешается. В ресайклере тож работает и пох ему стабильные иды, или нет
Но костыльненько выглядит

Sergey
30.01.2017
11:00:07
и тоже будет только один листенер

Andrew
30.01.2017
11:01:26

Sergey
30.01.2017
11:03:01
хотя есть еще спиннеры (

Andrew
30.01.2017
11:03:41
У меня прога еще живая с листами, норм работает, лень переписывать

Sergey
30.01.2017
11:03:43
недавно писал такой
да, старое трогать не нужно

Vladimir
30.01.2017
11:07:42

Gleb
30.01.2017
11:09:33
да, старое трогать не нужно
Вообще после видюх про ресайклер, когда доходит - что они хотели сказать ресайклером, получается либо уже юзать ресайклер как ресайклер, со всеми его фичами, либо смысла в нем не больше чем в обычном листе.
Они там кучу оптимизаций придумали для частичных изменений, анимаций/декораций, payloads изменений, если это не юзать тогда и смысла в ресайклере как в таковом особо никакого

Sergey
30.01.2017
11:10:34

Gleb
30.01.2017
11:10:49
да, старое трогать не нужно
Как они и заявили что надобность и самая главная мотивация для ресйклера была - это анимации, то что никак не вписывалось гармонично в сущ-ую арх-ру листвью

Sergey
30.01.2017
11:10:56
у меня он уже по умолчанию

Gleb
30.01.2017
11:11:02

Google

Anton
30.01.2017
11:21:28
какой самый удобный способ обмена сообщениями между баунд сервисом и активити? юзал мессенджер/хендлер чет не оч, щас РХбас есть еще че нить?

Sergey
30.01.2017
11:22:33
LocalBroadcastManager

Sergey
30.01.2017
11:30:17
binder

Kolas
30.01.2017
11:45:14
я чёт понять не могу, а что делает setHasStableIds(true)? я вот так понял: после вып-я этой строчки можно вызывать notifyDataSetChanged и не весь список будет перерисовываться, а только элементы с новыми id.
я правильно понял?

Admin
ERROR: S client not available

Kolas
30.01.2017
11:46:37
ну и то что вью холдер не будет меняться

Sergey
30.01.2017
11:46:38
+ будуть анимации

Kolas
30.01.2017
11:48:39
спасибо
сделал вызов setHasStableIds(true), переписал getItemId и заменил все notifyItemInserted и прочие. всё заработало как надо.
до этого ещё проблема была, что почему-то элементы в списке дублировались.

Sergey
30.01.2017
11:54:52

Kolas
30.01.2017
11:54:53
и код адаптера сократился на ~четверть

Sergey
30.01.2017
11:55:25
только главное чтобы были стабильные уникальные айди для каждого элемента

Антон
30.01.2017
12:04:20
Ребят, у кого нибудь есть книга Reactive Programming with RxJava - Ebook ? Готов купить со скидкой даже ) всмысле файл

Alexey
30.01.2017
12:05:09
А вы часто hashCode() используете в качестве stable id в адаптерах?

Anton
30.01.2017
12:05:15
а че нигде нет на торентах?

Sergey
30.01.2017
12:05:39
если ты уверен что у тебя нет идентичных хедеров(вьютайпов)

Alexey
30.01.2017
12:08:18
@sergeyfitis так hashCode и для не идентичных хедеров может совпасть

Google

Sergey
30.01.2017
12:08:36
например есть модель HeaderItem
у нее есть title
в ресайклере например только 3 таких хедера, и у каждого свой title
хеш берется по title

Gleb
30.01.2017
12:11:09
Привет всем

Антон
30.01.2017
12:11:30
нашел спасибо)

Юрий
30.01.2017
12:14:42
привет всем
профи, нужен совет, юзаю ретрофит2
в дебаг режиме он без проблем парсит респонс, а релиз версии ни в какую
сам респонс приходит, getBody() возвращает дефолтный объет
что я делаю не так? куда копнуть?

Sergey
30.01.2017
12:15:26

Nikolay
30.01.2017
12:15:28
minifyEnabled false

Юрий
30.01.2017
12:15:42

Sergey
30.01.2017
12:15:42
ендпоинт на сервер

Юрий
30.01.2017
12:16:13
может быть

Sergey
30.01.2017
12:16:51
может быть
настраивал правила прогарда для Retrofіt и OkHttp?

Юрий
30.01.2017
12:16:55
да
с гитхаба забрал
# ALSO REMEMBER KEEPING YOUR MODEL CLASSES
-keep class com.your.package.model.** { *; }
все понял