Сергей
а не, все, скастовалось и нашлось
Сергей
final Activity fActivity=(DrawingActivity)activity; fActivity.runOnUiThread(new Runnable() { @Override public void run() { ((DrawingActivity) fActivity).callRefreshImage(); } });
Сергей
сложнонах!
Dj
А в методе run , кастинг лишний
Dj
Созданием утечек памяти))
Akim
кастуют активити)
Сергей
в методе run IDE предлагает,
Сергей
да! вот наверняка че-то потечет)
Сергей
кстати, как сделать это без говнокода и утечек?
Сергей
че то я опять мощно туплю в части много поточности. Из активити вызываем "тяжелый код": Runnable launchXXX= new Runnable(){ public void run(){ XXXXroutine(bitmap,par1,par2); } }; Thread newThread=new Thread(launchXXX); newThread.start(); как реализовать коллбэк из launchXXX, что бы обновить интерфейс по завершении, если XXXXroutine в отдельном от вызывающей активити классе?
Сергей
вот это
Dj
кстати, как сделать это без говнокода и утечек?
Чтобы их избежать наверняка засунь активити в WeakReference , в onDestroy() отменяй долгую таску
Сергей
атож!
Dj
Как выше советовали , RxJava
Dj
Сергей
но текущий по крайней мере работает) и не требует ничего внешнего.
Сергей
впрочем, код ХХХХ соптимизировался до срока выполнения в доли секунды вместо 20 секунд в отдельном потоке, так что можно и в UI его вызов оставить. Но это ж неправильно, да и систему освоить нада.
Сергей
то есть, перенести все Thread заморочки в вызываемый класс? ок, если бы его из кучи мест вызывали так бы и сделал
Сергей
не, не хочу позориться Но всем спасибо, все заработало. Надо было активити привести к нужной.
Сергей
думал насчет асинка - но там передается 4-5 параметров разных типов
Сергей
туда
Alexey
туда - это в тяжелый метод?
Сергей
да. А структуру для их передачи городить это такое...
Alexey
да. А структуру для их передачи городить это такое...
ну либо по параметрам либо объект. асинк таск отдельным классом с колбэком и трава не расти
Сергей
ради одного простого вызова городить новый объект можно - но костыльно. Хотя код может стать читаемей и надежнее, особенно в части утечек, согласен, может под асинк перепишу
Сергей
всем спасибо)
Яўгеній
Здравствуйте, никак не могу найти решение проблемы. Фокусировка происхоит на элементе, который еще не полность отобразился на экране. Он еще за экраном. Как видно на скрине, я чуть-чуть подвинул вправо ресайкл, как он тут сфокусировался на левом элементе, который еще даже не полностью отображен. Я полагаю, что фокус идет левее относительно середины экрана, но как его растянуть или сместить правее? Возможно проблема в этих настройках recyclerView: android:layout_marginEnd="-247dp" android:layout_marginStart="-247dp" Мне нужно было это, что бы фейковый элементы частично спрятать. Подскажите пожалуйста, что можно сделать...
Vladimir
Вообще то это сейчас костыль, причем очень ужасный )
Сергей
да вижу)
Сергей
в todo занесу переписать под асинк)
Michael
Асинк это же источник утечек
Vladimir
Прям всегда?)
Michael
Ну надо делать weak рефы всякие итд
Michael
По мне самое простое это viewmodel
Michael
Сложнее накосячить + все из коробки
Яўгеній
Да там у тебя вообще как-то не правильно сделано. Точками показано 3 элемента, а по бокам как будто еще элементы есть. Юзер поймет это?
в данном случае у меня три настоящих элемента и два фейковых. ну мне такой макет дали, типа даже если только один элемент, то по бокам должны еще торчать куски, типа их три. ну вот, я сделал, что бы в начало и конец добавлялся фейковый элемент и вначале и конце ресайкла они торчат, точнее их часть. для этого мне пришлось padding с обеих сторон сделать -247, что бы большая часть фейковыз элементов пряталась за экраном. Получается, что та часть, в которой и просиходит фокусировка сдвинулась частично за экран, и соответственно это все теперь не очень корректно работает. Можно ли как-то сместить или растянуть эту невидимую рамку фокусировки?
Alexey
либо header, footer назови их
Dmytro
Всем привет! Я извиняюсь.. Можете объяснить разницу между volatile и synchronized..?
Vladimir
А разве нельзя это через декоратор сделать?
Dmytro
Я что то гуглил.. ничего не ясно.. как братья
Яўгеній
я уже предлагал как сделать без гемора, новый тип элементов - fakeitem и их отрисовка в виде части элемента
да, я уже понял, что это было бы получше, только я не знаю, как в адапетере указать какой элемент вставлять... там же типа заранее указывается каким xml-элементом заполняется...
Vladimir
Всем привет! Я извиняюсь.. Можете объяснить разницу между volatile и synchronized..?
Volatile не сохраняет значение в Кеше, а synchronized захватывает монитор объекта
Сергей
Яўгеній
val items = readFromResources(R.array.items) items.insert(0, header) items.add(footer) adapter.setItems(items)
а куда конкретно это вставлять? в getItemViewType?
Sergey
сложнонах!
final DrawingActivity fActivity .... Не?
Яўгеній
val items = readFromResources(R.array.items) items.insert(0, header) items.add(footer) adapter.setItems(items)
Я сделал так: https://pastebin.com/EdYp4Hgw Не знаю, нормально ли это... Вроде не костыль
Alexey
Я сделал так: https://pastebin.com/EdYp4Hgw Не знаю, нормально ли это... Вроде не костыль
Вроде ниче, но первый и последний вроде должны различаться
Яўгеній
Alexey
Да
Яўгеній
Не должны. Вот так оно выглядит, если у меня только один реальный элемент, по бокам торчат фековые эелементы.
Sergey
Всем привет! Я извиняюсь.. Можете объяснить разницу между volatile и synchronized..?
Обычно первым помечают объект, который будет модифицирован в synchronized блоке.
Dmytro
Обычно первым помечают объект, который будет модифицирован в synchronized блоке.
Спасибо) так хочется что бы щенки еду не отбирали друг у друга 🌝✨
Sergey
А в чем смысл?
Избежать кеширования.
Яўгеній
Ребят, а какой код ошибки возвращать, если нет подключения к интернету (UnknownHostException)? Есть какой-то общепринятый вариант? Или может есть где списки этих кодов?
Dyno
напомните плиз как приложение называется, которое убирает все нотификации для того, чтобы сделать красивый скриншот?
Vladimir
Избежать кеширования.
Можно какой то пример где нужно первым пометить объект, что б модифицировать его в synchronized? Я имею в виду, что б volatile было необходимо?
Vladimir
Sergey
Межешь, ведь. 😉
Sergey
https://m.habr.com/ru/post/108016/
Jamal
Jamal
Jamal
такую тему замутил
Jamal
Jamal
кто-нибудь сталкивался ?
Yakov
Укажи тип возвращаемого значения явно если используешь lazy для навигатора
Кирилл
А если не хочется Moxy?
Jamal
удерживание презентера при перевороте
Jamal
и востановление состояния при перевороте