Anonymous
Есть 2 textview, 1 - имя, 2 - сообщение. Как сделать так, что если сообщение более 1 строки, то вторая строка выводилась под именем, чтобы не было пустого пространства?
Nikolai
Сделать один TextView
Slim
сделать один TextView и с начало вставлять имя. И чтобы имя было написано другим стилем, то использовать Spannable
Sergey
Всем привет. Как проверить в build.gradle в productFlavors какая в данный момент сборка (buildType)? productFlavors { internal { if (android.buildTypes == "release") { //какой-то код } dimension "version" } }
Stanislav
а мб кто-нибудь подскажет, пока я не начал гуглить, почему мой бродкаст ресивер работает только до ухода приложения из диспетчера недавних, хотя в интернетах обещали, что если его зарегать в манифесте, то должен работать всегда. Вчера на ночь глядя находил что-то на этк тему про implicit и explicit broadcasts, но так-то я андроид для себя по вечерам тыкаю, так что не специалист в этой области
Anonymous
Где вы храните документ политики безопасности, если сайта нет?
Anonymous
Сам Гугл плей не дает ведь такое возможности...
Valentin
Гугл диск, например
Vitaly
Подскажите как можно для каждого элемента списка подгрузить свои данные? Как лучше это делать? 1) При получении ответа на первый запрос проходиться по списку и для каждого объекта этого списка вызывать запрос подгрузки фото (элементов 500-700). 2) При получении ответа на первый запрос сразу отображать его в RecyclerView, а внутри ViewHolder подгружать фото. Я склоняюсь ко 2-му варианту, но не знаю как организовать отписку внутри ViewHolder. Использую RxJava.
Anonymous
Если у меня нет сайта, то что нужно указывать в документе политики?
Anonymous
Там пункт "Адрес сайта, на котором собираются персональные данные"
Vitaly
В первом случае у тебя получится так, что пользователь будет ждать пока всему списку загрузятся нужные данные, если я правильно понял. Логичнее второй вариант - элемент отрисовался и данные подгрузились
Именно поэтому я склоняюсь ко 2-му варианту Но как производить отписку? Нормально ли производить отпуски через колбек адаптера: onViewDetachedFromWindow()?
Valentin
Тут уже хз. С ырыксами и подписками работал давно и мало.
Max
Быстро ушел)
Anonymous
Можно ли отправить touch event програмно?
Anonymous
Можете подсказать как
Max
Можно.
Мне кажется это не то что он хотел услышать😅
Mike
Можете подсказать как
вызвать нужный метод. onTouchEvent, если не ошибаюсь.
Anonymous
onTouchEvent вроде принимает евенты
Ivansuper
https://developer.android.com/reference/android/view/View#dispatchTouchEvent(android.view.MotionEvent)
Mike
onTouchEvent вроде принимает евенты
вызвав метод, который принимвет ивэнты, ты сэмулируешь приход ивэнта
Anonymous
спасибо. щас попробую.
Line'R
Можно как-то грамотно обьеденить все в один листенер?
Egor
Можно как-то грамотно обьеденить все в один листенер?
Засунь все методы в один и переназови просто нормально. Правда 10+ методов в интерфейсе такое себе.
Line'R
Засунь все методы в один и переназови просто нормально. Правда 10+ методов в интерфейсе такое себе.
Так я то думал об этом уже, просто когда имплементируешь интерфейс приходится овверайдить все его методы сразу (например 5, 10 и тд), я не знаю как имплементить только один метод из всего интейрфейса :D и поэтому выглядит это срашно не красиво и не удобно
Ivansuper
Ты не совсем правильно кашу варишь. У тебя разные асинк таски и для каждого из них свой листенер
Ivansuper
Если бы у тебя был один асинк таск с параметризацией чего получать откуда, имело бы может смысл, но было бы неуклюже
Ivansuper
Поиграйся с дженериками и попробуй все свести к одному с onResult(T result); onError();
Ivansuper
Я думал о одном таске уже, но тогда его тело будет тяжелым
Архитектурного смысла маловато все пихать в один асинк
Никита 🙃
А почему в RecyclerView после onSizeChanged сразу нельзя засеттить Layoutmanager, а надо ещё обернуть во View.post()? При перевороте экрана надо менять layoutManager у RV, но решение с onConfiguationChanged + GlobalLayoutListener иногда выстреливает в ногу. Чтоб наверняка решил использовать onSizeChanged и сеттить layoutManager - заметил, что если не обернуть в post, то после onSizeChanged айтемы RV просто не будут создаваться, хотя место под них выделится. Кто копал, с чем сязано это? Не выстрелит ли в ногу View.post с такими делами?
Ivansuper
Надо менять при повороте — используй разные конфигурации ресурсов layout
Ivansuper
На сколько помню, там есть возможность через XML задавать менеджер
Ivansuper
Так же не особо трудно сменить его из активити или фрагмента
Sergey
доброго времени суток. нужно выкинуть некоторые классы в зависимости от productFlavors. но если конфиг сделать вот так: productFlavors{ toAndroid.sourceSets.main { java.exclude 'com/ClassA.java' } toAmazon.sourceSets.main { java.exclude 'com/ClassB.java' } } то выпиливаются оба класса. как это правильно делается?
Никита 🙃
Надо менять при повороте — используй разные конфигурации ресурсов layout
Вот только это не работает когда в манифесте: android:configChanges="orientation|screenLayout|screenSize" 🙃
Ivansuper
Вот только это не работает когда в манифесте: android:configChanges="orientation|screenLayout|screenSize" 🙃
https://developer.android.com/reference/android/app/Activity?hl=ru#onConfigurationChanged(android.content.res.Configuration)
Никита 🙃
https://developer.android.com/reference/android/app/Activity?hl=ru#onConfigurationChanged(android.content.res.Configuration)
"так, там в вопросе что то про смену ориентаций, не буду читать всё, просто скину доку" 1. Я в своём вопросе уже упомянул что мне это не подошло. 2. Вопрос не про смену конфигурации, а именно про установку лайаутменеджера у RV сразу после onSizeChanged и странное поведение в этом случае.
Ivansuper
"так, там в вопросе что то про смену ориентаций, не буду читать всё, просто скину доку" 1. Я в своём вопросе уже упомянул что мне это не подошло. 2. Вопрос не про смену конфигурации, а именно про установку лайаутменеджера у RV сразу после onSizeChanged и странное поведение в этом случае.
Да я вообще ленивая жопа ага. Пайплайны в андроиде и так асинхронны, что дает много приключений, так ресайклер сам по себе очень асинхронен и много чего откладывает напотом и считает разной магией. Поэтому либо не используй post совсем тут и пытайся развернуться вокруг пересоздания активити, либо страдай
Ivansuper
В основном компоненты сделаны так, что пересоздание при смене конфигурации остается самой надежной точкой для настройки всего. В рантайме андроид неповоротлив
Ivansuper
Вот только на этом экране пересоздание сделает мне лишь больше боли) Ладно, спасибо)
Там хотя бы будет очевидная боль. А не ожидание того когда что то невесть откуда выстрелит или упадет
Никита 🙃
Там хотя бы будет очевидная боль. А не ожидание того когда что то невесть откуда выстрелит или упадет
Боль состоит в том, что я пришёл на готовое приложение и его допиливаю) А там всё построено вокруг именно этого :D Переписывать никто не даст, буду надеяться на магию)
Ivansuper
Я понял. Сочувствую(
Ivan
Привет! Помогите разобраться, почему не работает навигация плиз. На этом скрине граф
Ivan
Это пытаюсь перейти на другой фрагмент
Ivan
Активити
Ivan
Ошибка
Nikita
Привет! Подскажите пожалуйста , кто переходил с апи гугла на яндекс , для того , чтобы залить в стор хуавея , как лучше сделать , создать новую ветку на гите и там перепиливать или всё можно в рамках одного проекта оставить ? Чтобы и в гугл плэй и в хуавей обновы выкатывать
Igor
Привет! Подскажите пожалуйста , кто переходил с апи гугла на яндекс , для того , чтобы залить в стор хуавея , как лучше сделать , создать новую ветку на гите и там перепиливать или всё можно в рамках одного проекта оставить ? Чтобы и в гугл плэй и в хуавей обновы выкатывать
вроде-бы это можно решить product flavorами, судя по описанию – создать два модуля, которые будут закрывать вам функциональность карт, и подключать в одном флейворе один, в другом – другой.
V.Ilin
при переходах на рут фрагменты (в данном случае bottomNavigationVIew в NavigationComponent) вьюшки пересоздаются то есть вызывается onViewCreated, есть какой-то обход для этого чтобы хранить фрагменты в памяти, или только писать кастомную навигацию?
V.Ilin
setRetainInstance(true);
это где писать?
Nikolai
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setRetainInstance(true); }
Nikolai
Не учи людей плохому)
ну он же хочет хранить фрагменты)
Nikita
вроде-бы это можно решить product flavorами, судя по описанию – создать два модуля, которые будут закрывать вам функциональность карт, и подключать в одном флейворе один, в другом – другой.
Спасибо , прочитал про это , но не нашёл , как там выбирать , какие файлы будут в сборке ? Мне нужно в одной сборке их иметь , а в другой удалить , я правильно понимаю , что нужно как-то изменить структуру проекта , добавить папок и разложить это как-то ?
Sergey
вроде-бы это можно решить product flavorами, судя по описанию – создать два модуля, которые будут закрывать вам функциональность карт, и подключать в одном флейворе один, в другом – другой.
вот можно по подробней? буквально час назад спрашивал про это, только мне еще нужно выпилить некоторые файлы в зависимости от product flavors
Александр
Стас 🍕🍕🍕
но лучше выкинуть.
Стас 🍕🍕🍕
Это костыль
Стас 🍕🍕🍕
На самом деле как по ме в боттом навигации проще ручками.
Стас 🍕🍕🍕
ну если по чичероне угораешь то тоже можно прикрутить
Andrii
привет как в PahoMQ создать очередь и отправить туда сообщение?
Александр
Это костыль
Это бесполезная ссылка, которая не решает вопрос
V.Ilin
а если при переходах все такие пересоздавать вьюшку, некоторое время требуется чтобы загрузить её или в рут фрагментах это плохая практика?
Andrii
А?
ага Eclipse Paho MQ у меня именно с очередями затык какойто)