Arsen
R.layout.recycler_collection есть в лейауте итема?
Arsen
не активити
Арсений
Mood
Mood
Mood
Всех категорически приветствую, как сделать разделитель между toolbar и контентом страницы, который бы "исчезал" при скролле (потом liftOnScroll="true") типа как вк. Голову себе сломал на этом. У меня в активити recyclerview и максимум что я придумал это item decoration с разделителем перед первым элементом, но мне кажется, что это meh. А что делать если никакого recyclerview в активити нет?
Arsen
я бы посоветовал coordinatolayout + behaviors, но он уже староват, во всех смсыслах, если есть время и желание, то motionLayout в помощь
Mood
Ну то есть писать кастомный behavior?
Arsen
на скринах не видно никакого разделителя кста
Mood
А про motion layout вообще ничего не слышал, надо посмотреть, спасибо за толчок
Mood
на скринах не видно никакого разделителя кста
Ну наверно качество потерялось, но вроде видно маленькую полоску
Mood
Спасибо, попробую что-то сделать по наводке
Arsen
Кто-нибудь юзает setReorderingAllowed для транзакций? приведите юзкейс
Alexander
Такая проблема, в общем есть вьюшка с айдишником, который не всегда существует в зависимости от типа билда. И соответственно я пытаюсь просто в коде найти findViewById(R.id.text_view_title), но на котлине ругается в компайл тайме, то что этой вьюшки нет в текущем хмл, так и есть, но у меня просто код туда не зайдет с такой конфигурацией. Как отлключить эту компайл тайм проверку?
Ravshan
ребят это правильно? public static void setFragment(Fragment fragment,int id ) { FragmentTransaction fragmentTransaction = fragment.getFragmentManager().beginTransaction(); fragmentTransaction.replace(id, fragment); fragmentTransaction.commit(); }
Ravshan
Почему не в бейз активити и нет тега?
Вот это я и не понял, дайте пример
Arsen
> private static
Arsen
что хочешь сделать? контекст задачи какой?
Ravshan
что хочешь сделать? контекст задачи какой?
Кароче, есть пустой класс с этим методом, мне нужно этот метод в нескольких активи юзать
Ravshan
> private static
public то есть
thegr1f
Кароче, есть пустой класс с этим методом, мне нужно этот метод в нескольких активи юзать
Сделай класс Router с методами а-ля openProfileScreen, а внутри уже вызывай метод для смены фрагмента
thegr1f
Блин, без примера не пойму
class Router{ public void openProfileScreen(){ replace (new ProfileFragment()); } private void replace(Fragment f){ //Код с реплейсом } }
Arsen
В идеале Dependency Injection + "сущность" которая будет за все это отвечать (Router). Если попроще, то метод в BaseActivity. Кроме всего прочего есть еще куча подводных камней типа illegalState-ов, если дернешь метод не там где нужно. Советую посмотреть в сторону готовых решений типа Cicerone
Александр
Чел сомневается по поводу того, правильно ли он сделал простой replace -> советуете Чичероне. Кек))0
thegr1f
thegr1f
Так у меня разные фрагменты на разные активити
По хорошему должна быть одна активити
thegr1f
тут нет легко пути, с либой проще
Ой да ладно, не обязательно для смены фрагментов либу тащить
Александр
тут нет легко пути, с либой проще
Есть лёгкий путь, понять как сделать простую транзакцию. Когда это стало проще, чем затянуть для простейших операций далеко не простейшую либу?
Александр
ууу, токсик)))
0 токсичности по факту, тригернулся чёт просто.
Александр
ууу, токсик)))
Дабы понять суть подгорания: был у меня случай, когда я был фулл щеглом в Android деве и изучал Room, мне для простейшего ассинхронного запроса в БД понадобилась многопоточность. Угадай, шо мне посоветовали добрые коллеги, и что я в итоге сделал? Намёк: RX
Александр
Омагад
А шо, Completable.fromCallable{} и нормалин.
thegr1f
А шо, Completable.fromCallable{} и нормалин.
И куча бессонных ночей, чтобы это понять)
Arsen
Есть лёгкий путь, понять как сделать простую транзакцию. Когда это стало проще, чем затянуть для простейших операций далеко не простейшую либу?
нужно понимать, что лайфсайкл колбеки не синхронизированы с инпут ивентами (п.с. оба типа шедулятся в main looper). Например активити убивается|сворачивается (онСейвИнстансСтейт срабатывает), а система/window швыряет onBackPressed ивент в котором у тебя фрагмент менеджер дергается без AllowingStateLoss - вот тебе и краш с иллегал стейтом. В чичероне после паузы команда в буфер закинется и отработает позже
Егор
Приветствую! Может кто сталкивался Когда вхожу через гугл запрашиваю idtoken Проблема в том, что когда открываю приложение через студию, то все норм, а когда через апк, то гугл возращает task.isSuccessful = false
Александр
нужно понимать, что лайфсайкл колбеки не синхронизированы с инпут ивентами (п.с. оба типа шедулятся в main looper). Например активити убивается|сворачивается (онСейвИнстансСтейт срабатывает), а система/window швыряет onBackPressed ивент в котором у тебя фрагмент менеджер дергается без AllowingStateLoss - вот тебе и краш с иллегал стейтом. В чичероне после паузы команда в буфер закинется и отработает позже
А? Шо? Я новичок, я не хочу ничего такого понимать, я хочу сделать так чтобы я в двух разных активити мог в контейнера запихнуть два разных фрагмента. Об этих всех синхронизациях и каких - то буфферах я вообще не думаю, у меня есть конкретный вопрос. Очевидно, мне для решения этого вопроса никакие либы и нафиг не нужны, нафига мне микроскопище для того чтобы гвоздь забить? Да и вообще, если человек юзает для навигации Чичероне, но не знает зачем в .replace() нужен тег, то у меня такой человек чёт 100500 вопросов вызовет.
Александр
Кста, для создания синглтонов всем советую Dagger2, там есть аннотация @Singleton, очень удобно.
🐈 гав-гав
щас бы для синглтонов даггер подклчить
Александр
слишком толсто уже ☹️
А вот видимо нет :D
Dmitry
Ребзя, какой тип у checkBox? Не булеан же
Dmitry
я итемы создаю для ресайлкерВью
Andrew
Кста, для создания синглтонов всем советую Dagger2, там есть аннотация @Singleton, очень удобно.
+1 к синглтону через даггер. Кстати, для отображения картинки из ресурсов (в ImageView) можно добавить в проект Picasso.
Dmitry
Александр
+1 к синглтону через даггер. Кстати, для отображения картинки из ресурсов (в ImageView) можно добавить в проект Picasso.
Во, я обязательно позову тебя в мою команду суперзлодеев, если буду собирать такую.
Dmitry
ошибка при сборке проекта, не могу понять, что тут не так, подскажет кто?
Aleksey
ошибка при сборке проекта, не могу понять, что тут не так, подскажет кто?
мда, ты уверен, что ты хочешь ссылку на вьюху заменить, а не свойство обновить?
Dmitry
первый раз с ресайклерВью, не орите особо
Arsen
дело не в жирной либе, которую нужно затащить, а в том, что дернуть синглтон - жесткая привязка к конкретной имплементации. По-хорошему, юзать Dependency inversion и вот это вот все...
Dmitry
chekboxItem.isChecked = item.checkboxItem
Благодарю за ответ, но тут требует тип
Dmitry
Vadim
Boolean. Тебе нужно хранить не чекбокс а его состояние
Dmitry
Логично, да, но говорили, что не булеан.. Ладно, спасибо огромное, помог)
Arsen
кто говорил?)
Dmitry
кто говорил?)
в лс писал чувак
Arsen
ну некоторые(извращенцы) любят 1 или 0 юзать
Arsen
checkbox.isChecked = ...
Aleksey
поясни
заместо всяких фреймворков
Arsen
заместо всяких фреймворков
так мой коммент вообще не об этом
Alexander
Такая проблема, в общем есть вьюшка с айдишником, который не всегда существует в зависимости от типа билда. И соответственно я пытаюсь просто в коде найти findViewById(R.id.text_view_title), но на котлине ругается в компайл тайме, то что этой вьюшки нет в текущем хмл, так и есть, но у меня просто код туда не зайдет с такой конфигурацией. Как отлключить эту компайл тайм проверку?
Alexander
А как ты это так сделал, что у тебя в зависимоси от типа билда вьюха исчезает из разметки или появляется в ней?
Разные типы билдов, debug & release, соответственно мне нужно просто чтобы оно не ругалось, в коде все равно не зайдет туда
Alexander
оно в ИДЕшке не ругается) в том то и прикол. Только во время компиляции выдает Unresolved reference: text_view_title