The The
там вообще какая-то фигня. если это первый запуск - то setChecked или setSelectedId - работают, item помечается как выбранный на панели. но если свернуть, повернуть экран и открыть снова - ТО НЕТ
Александр
видимо нет, если ты его хранишь в аппе то это ведь ассет уже
Ну, нет, я более чем уверен что для модерации нет разницы, является ли контент ассетом(лежит ли в папке, условно) или грузится по линку. Они задетектят. И зарэжут.
Sergey
можно здесь: Application.ActivityLifecycleCallbacks
Нашел, оказывается можно посмотреть в профайлере, даже фрагменты показывает
Konstantin
собственно поэтому и подумал про альтернативные магазины
Олег
Олег
Всем доброго времени суток) Подскажите, пожалуйста, как можно исправить, чтобы нижнее меню вниз не съезжало, если убрать fitsSystemWindows в фрагменте, то все нормально, но к сожалению он нужен в том фрагменте... При скроле экрана менюшка становится норм, заранее спасибо)
Евгений
есть депрекейтед метод requestFitsSystemWindows, может кто-нибудь знает незадепрекейченный аналог? вот он должен помочь
Олег
Помогло, спасибо))
Сергій
о, коллективное чтение джава документации )
Andrew
добрый день, с помощью каких инструментов можно реализовать такую фичу - в 23:59 данные о выполненных и невыполненых задачах сохраняются в таблицу. В 00:01 следующего дня ресайклер рефрешится и в него добавляются новые задачи ?
Александр
вывод какой - нахуй гуглплэй?😀
Ну блин, а где ж ещё публиковаться то, чтобы был, так сказать, финансовый профит.
Александр
No options
Nick
No options
Вообще стоит публиковаться в хуявееском сторе, как ни как + юзеры
Александр
Вообще стоит публиковаться в хуявееском сторе, как ни как + юзеры
Ну, стоит. Це ок. Однако ж как ни крути, основная аудитория в GP. Поэтому нахуй его не пошлёшь, увы.
Николай
Хелп ми. структура такая: singletone класс ChatRoomStorage; в этом классе поле List<ChatRoom> chatRooms; внутри объекта ChatRoom лежат некоторые поля и List<Message> messages; Есть первая активность с RecyclerView; Для отображения списка чат-комнат Адаптер имеет ссылку на ChatRoomStorage instance; Есть втора активность с RecyclerView; Для отображения сообщений в конкретной комнате Адаптер в конструкторе получает ссылку на ChatRoom chatRoom = (ChatRoom) intent.getExtras().getSerializable(App.CHAT_ROOM_EXTRA); Переход с первой активности на вторую происходит по клику на елемент RecyclerView. Формируется интент intent.putExtra(App.CHAT_ROOM_EXTRA, chatRoomStorage.getChatRoomList().get(getAdapterPosition())); context.startActivity(intent); Так как это мессенджер и пользователю приходят сообщения в service. Когда приходит сообщение то сервис кладёт их в ChatRoomStorage таким образом: chatRoomStorage.getChatRoomById(message.getRoomId()).addMessage(message); После этого идёт бродкаст. Активность ловит бродкаст и вызывает adapter.notifyDataSetChanged(); Но при этом ничего на экране не меняется. Если нажать кнопку back и снова кликнуть на тот же елемент recyclerView то новые сообщения там будут отображены. Где тут собака зарыта? Как это исправить?
Denis
Хелп ми. структура такая: singletone класс ChatRoomStorage; в этом классе поле List<ChatRoom> chatRooms; внутри объекта ChatRoom лежат некоторые поля и List<Message> messages; Есть первая активность с RecyclerView; Для отображения списка чат-комнат Адаптер имеет ссылку на ChatRoomStorage instance; Есть втора активность с RecyclerView; Для отображения сообщений в конкретной комнате Адаптер в конструкторе получает ссылку на ChatRoom chatRoom = (ChatRoom) intent.getExtras().getSerializable(App.CHAT_ROOM_EXTRA); Переход с первой активности на вторую происходит по клику на елемент RecyclerView. Формируется интент intent.putExtra(App.CHAT_ROOM_EXTRA, chatRoomStorage.getChatRoomList().get(getAdapterPosition())); context.startActivity(intent); Так как это мессенджер и пользователю приходят сообщения в service. Когда приходит сообщение то сервис кладёт их в ChatRoomStorage таким образом: chatRoomStorage.getChatRoomById(message.getRoomId()).addMessage(message); После этого идёт бродкаст. Активность ловит бродкаст и вызывает adapter.notifyDataSetChanged(); Но при этом ничего на экране не меняется. Если нажать кнопку back и снова кликнуть на тот же елемент recyclerView то новые сообщения там будут отображены. Где тут собака зарыта? Как это исправить?
без кода сложно помочь
Николай
без кода сложно помочь
Какой именно кусок кода скинуть?
Artem
короче 99% что ты не нотифаишь свой ресайкл что чет ваще поменялось
Artem
хотя увидел в описании
Artem
а второй активности?
Николай
а второй активности?
Да, сейчас дам скрины с отладчика
Artem
лучше код на патсбин
Mike
Хелп ми. структура такая: singletone класс ChatRoomStorage; в этом классе поле List<ChatRoom> chatRooms; внутри объекта ChatRoom лежат некоторые поля и List<Message> messages; Есть первая активность с RecyclerView; Для отображения списка чат-комнат Адаптер имеет ссылку на ChatRoomStorage instance; Есть втора активность с RecyclerView; Для отображения сообщений в конкретной комнате Адаптер в конструкторе получает ссылку на ChatRoom chatRoom = (ChatRoom) intent.getExtras().getSerializable(App.CHAT_ROOM_EXTRA); Переход с первой активности на вторую происходит по клику на елемент RecyclerView. Формируется интент intent.putExtra(App.CHAT_ROOM_EXTRA, chatRoomStorage.getChatRoomList().get(getAdapterPosition())); context.startActivity(intent); Так как это мессенджер и пользователю приходят сообщения в service. Когда приходит сообщение то сервис кладёт их в ChatRoomStorage таким образом: chatRoomStorage.getChatRoomById(message.getRoomId()).addMessage(message); После этого идёт бродкаст. Активность ловит бродкаст и вызывает adapter.notifyDataSetChanged(); Но при этом ничего на экране не меняется. Если нажать кнопку back и снова кликнуть на тот же елемент recyclerView то новые сообщения там будут отображены. Где тут собака зарыта? Как это исправить?
элемент
Mike
Пожалуйста, хватит.
Mike
?
this https://t.me/android_ru/678701
Mike
and this
Turalllb
знает кто нибудь почему приложение падает на эмуляторе с ANR в режиме дебага, стоит секунд 5 юай притормозить и падает
Александр
Фулл без регистрации и смс скачать бесплатно https://developer.android.com/topic/performance/vitals/anr
Turalllb
Фулл без регистрации и смс скачать бесплатно https://developer.android.com/topic/performance/vitals/anr
я читал эту статью, там написано про причины ANR когда приложение просто используется, а когда я включаю debugger и стою долго на каком нибудь стопе , я считаю что он не должен выдавать anr даже если я несколько минут стою
Andrew
Коллеги, необходимо произвести первичную инциализацию БД SQlite данными. У меня уже есть готовые методы для работы с writableDatabase, но вызывать их в onCreate нельзя напрямую. Может есть способы решения данной проблемы, чтобы не писать в onCreate инсерты, а использовать методы, работающие с writableDatabase?
Николай
Такой вопрос. Если я делаю так intent.putExtra("key", data); То в интент кладётся копия объекта data или ссылка на него?
Liam
ребята, я часто вижу в каких-то кафешках, что когда подключаюсь к вай фай, появляется какое-то кастомное меню, заставка, открывается какой-то сайт и т.д. не подскажите, что надо загуглить, чтобы найти туториал по настройке этой фичи?
Николай
копия вроде, там же вообще не ссылочные типы передаются
Понял, спасибо. Это и была моя проблема.
Mike
А так можно?
не вижу причин, почему нет)
Turalllb
вы же умные. неужели никто не ковырял вопрос с тем что ANR выскакивает при включении дебаггера?) Гугл блин только и выдает то как дебажить ANR ..
Andrew
не вижу причин, почему нет)
Просто при вызове writableDatabase, если она не создана, вызывается onCreate.
Turalllb
Оно не падает. Просто диалог с анр показывает
падает , вот диалога нет, а в лог падает исключение с ANR
Ivansuper
падает , вот диалога нет, а в лог падает исключение с ANR
Если падает, значит ты остановил один поток, а в других оставшихся что то переполнилось и приложение вылетело. Это раз. Два -- андроид действительно умный, и надо дополнительно в разделе разработчика поставить галку Показывать все анр, иначе при дебаге сервиса например точно вылетит вместо анр
Ivansuper
и такое именно с эмулятором, попробую поискать всякое в настройках
Не, это не только с эмулятором. Мой телефон живое тому доказательство как минимум
Кирилл
Если два фрагмента создают вьюмодель через общую вьюмодел фактори, то вм будет создана одна и та же, или будет два инстанса?
Turalllb
ну вроде все потоки торможу
Ivansuper
Гугл до сих пор не обратило внимание на проблему анр при дебаге почему? Потому что они сами им не пользуются никогда и у них часто кривое все
Mike
Просто при вызове writableDatabase, если она не создана, вызывается onCreate.
Хмм, действительно. Но в onCreate тебе передают точно такую же базку.
Turalllb
Гугл до сих пор не обратило внимание на проблему анр при дебаге почему? Потому что они сами им не пользуются никогда и у них часто кривое все
очень часто кривое, вот ближайшие недели часто в их божественных ViewGroup и всяких классах лазаю , это пиздец. Сегодня коллега видит ScrollView код , как его заставить скроллиться горизонтально? атрибут? хер там, надо использовать HorizontalScrollView , может код отчается сильно ? нет бля второй класс это копипаста первого. Почему бы не рассширить класс, нет надо оба от FrameLayout наследовать..
Turalllb
лол, а знаешь, что самое смешное и страшное? NestedScrollView!
да, он создан только ради того чтобы два вложенных скроллящихся в одном и том же направлении работали. А какой там код хз
Turalllb
другой причины юзать nesteadScrollView вроде нет
Ivansuper
Страшное на самом деле это тот же ресайклер. Кода в нем как на отдельную ОС
Ivansuper
И еще до сих пор нервы злятся от его асинхронной работы. Очень сильно по ногам бьет когда надо делать декораторы на основе данных в адаптере
Ярослав
Всем привет! За счёт какого механизма кастомные шрифты в андроид (например, те, что можно установить через тему на EMUI Huawei/Honor) меняют шрифт на веб-страницах в моём WebView? И как это можно отменить?
Turalllb
Страшное на самом деле это тот же ресайклер. Кода в нем как на отдельную ОС
Ы , самое страшное это для LeanBack BaseGrid , он расширяет RecyclerView еше несколькими тысяч строк и там есть LayoutManager который расшяет базовый тоже на несколько тысяч строк. Поэтому я нафиг послал этот LeanBack и начал сам все фокусы обрабатывать. Вроде получается. Единственное у них RecyclerView шустрее, но я понял как этого тоже добиться. И еще одну штуку не применил, сегодня узнал. ОКазывается если в вертикальном ресайклере есть горизонтальный и горизонтальный вышел за пределы экраны, он теряет все свои вьюХолдеры. НО есть атрибут который можно добавить в верхний ресайклер и тогда корзина для вьюхолдеров будет общая для вертикального и горизонтального!
Ivansuper
оу, а в чём там дело?
Так нельзя просто так из декоратора идти в адаптер. Часто ресайклер находится в промежуточных состояниях, которые не сходятся с адаптером
Ivansuper
Честно, я еще не пробовал с анимациями этого делать. Что то мне кажется там будет еще веселее
Turalllb
Если честно я хочу чтобы андроид со временем становился еще сложнее, надеюсь фуция будет работать в одном классе из 1 000 000 строк кода. Тогда наши зарплаты повысятся , да воздастся нам за труд
Mike
> фуция от создателей ресуслера и рекуклера
Turalllb
похоже это поможет
Ivansuper
похоже это поможет
Да, это помоему оно и есть
Ivansuper
Ибо по умолчанию андроид показывал диалог только для активностей. Остальное тихо убивал