Siarhei
postValue? (не уверен)
пробовал, проблема осталась
Viktor
пробовал, проблема осталась
может тогда стоит отменить загрузку?
Siarhei
может тогда стоит отменить загрузку?
тут получается шарится viewmodel между несколькими фрагментами, и в MutableLiveData могут остаться устаревшие данные, т.е. когда открывается второй фрагмент, перед тем как что-то отобразить проверяется актуальность данных, только потом начинается загрузка. однако несмотря на то что ui подписывается на лайв дату уже после того как прошли все проверки и value = null старые данные всеравно успевают отрисоваться
Dmitry
Здравствуйте, подскажите пожалуйста, как можно изменить строковый ресурс из класса?
Dmitry
Понял
Anonymous
гайз, вызываю navigate() у navController'a и передаю туда аргументы. В дальнейшем эти аргументы всегда передаются. Как из очистить?
Anonymous
findNavController(R.id.nav_host_fragment).navigate( R.id.main_fragment_dest, arguments ) arguments - это Bundle с строкой. Почему то всегда передается теперь 🤔 даже если просто сделать popBackStack()
Металлов
Можно ли перехватить смс через ресиве в последних версиях ведроида?
Anonymous
Здраствуйте, кто может помочь с диплинком? Хорошо отблагодарю.
Anonymous
setArguments(null) ?
не, ты не понел, смотри. Есть фрагмент А, ты с него переходишь на фрагмент Б. Натыкал что-то, нажал кнопку, и вызвал navigate с аргументами на фрагмент А. Потом ты опять зашел на фрагмент Б, но на этот раз ничего не тыкал, просто нажал кнопку назад. Произошел popBackStack, но аргументы с первого захода все так же передаются 🤔
Anonymous
и мне не хочется переопределять в фрагменте Б кнопки назад и ставить туда navigate() с null в качестве параметра arguments
Vadim
дада, с ним все норм)
всё таки хотелось бы как то его запихнуть во ViewModel но передавать дата класс в барику такое себе
Никита
R
при запуске приложения в bluestacks автоматически фокусится edittext, это проблема эмулятора? как можно пофиксить?
Dmytro
при запуске приложения в bluestacks автоматически фокусится edittext, это проблема эмулятора? как можно пофиксить?
это только в блюстак? или ты только там проверил? Если 2е, то это фиксится флагами в манифесте softInput
Vadim
@RuslanSharipov хотел уточнить, не теряется ли смысл ViewModel если её создавать в onCreateView? при каждом появлении в Foreground фрагмента viewmodel пересоздается. у меня даже презентер дольше жил
R
это только в блюстак? или ты только там проверил? Если 2е, то это фиксится флагами в манифесте softInput
на всех телефонах и планшетах норм. пофиксил снятием фокуса при запуске))
Vadim
у вас ViewModel это дата классы. где их создадите там они и создадутся.
нет я конкретно про viewModel = ViewModelProviders.of(this, viewModelFactory) .get(AboutViewModel::class.java)
Vadim
у вас ViewModel это дата классы. где их создадите там они и создадутся.
тот что создается в AboutFragment https://gist.github.com/mnewlive/41da1828713e9a37e5d36036ccb607da
Ruslan
нет я конкретно про viewModel = ViewModelProviders.of(this, viewModelFactory) .get(AboutViewModel::class.java)
если не создавать каждый раз новую фабрику, то по идее должны перестать новые фрагменты создаваться.
Vadim
если не создавать каждый раз новую фабрику, то по идее должны перестать новые фрагменты создаваться.
viewModelFactory = AboutViewModelFactory(requireContext()) - по идее фабрика не должна зависеть от фрагмента. ни к чему референс во фрагменте
Vadim
хотя стоп, что то туплю референс должен быть
Ruslan
Vadim
@Inject lateinit var viewModel: MyViewModel я бы так сделал)
но я же должен инжектить так раз таки не viewModel а фабрику которая создает viewModel не?
Yank
всем привет, делаю edittext.setText("123") по клику на edittext, только вот текст со второго клика проставляется. в чем может проблема ?
Turalllb
добрый день, ерунда такая: есть линейный layout , у него нет бекграундо, в xml вьювер показывает, что прозрачный он. Но при установке появляется серый фон. Если залить какой то бекграунд , то все равно этот серый фон. Пытался брекпоинты поставить во все месте где к вью можно применить цвет или ресурс, но они не отрабатывают
Turalllb
в layoutInspector тоже не получается узнать название ресурса который в фоне, там только одна штука SolidColor в ноль стоит
Dmitriy
Гайс, беру фото с галерии. В onActivityResult по пути data.path выдает java.io.FileNotFoundException: /raw/storage/emulated/0/DCIM/Camera/IMG_20200326_172952.jpg (No such file or directory) Почему так?
Dmitriy
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { ... currentPath = data.data?.path ... } И выглядит как норм путь
Denis
ну или WRITE_EXTERNAL_STORAGE
Vadim
Хотел уточнить в Dagger в качестве модуля я могу добавить ViewModel следующим образом? @Module class AboutModule(val appContext: Context) { @FragmentScope @Provides fun provideModel(model: AboutViewModel): ViewModel { return AboutViewModel(appContext = appContext) } }
<Обойдёшься😊/>
Люди, помогите с ошибкой SDK
<Обойдёшься😊/>
Your SDK location contains non-ASCII characters
Vadim
ну впринципе да, я презентор таким образом добавлял
ну у меня презентер тоже также думал мало ли есть отличия когда ты добавляешь VIewModel
Yerlan
<Обойдёшься😊/>
В ютубе всё пересмотрел, ничего не помогло...
Turalllb
ну дагер это тупо средство для внедрения объектов в другие объекты, пофиг что внедрять
<Обойдёшься😊/>
Любую папку выбрать?
Aleksey
Любую папку выбрать?
какая то папка русскими буквами названа зуб даю. и возможно это в users твое имя винда воткнула) я так долго ипался с этим)
<Обойдёшься😊/>
я уже с этим SDK месяц ипусь. помогите плз, аххааххаах
<Обойдёшься😊/>
помогите плз, что делать?
awawa
я уже с этим SDK месяц ипусь. помогите плз, аххааххаах
Ох и тяжело же тебе будет дальше, если ты с этим месяц возишься
Aleksey
Ох и тяжело же тебе будет дальше, если ты с этим месяц возишься
ну я с этим пол дня провозился точно, чтобы пересоздать админа в винде)
Dmytro
ну я с этим пол дня провозился точно, чтобы пересоздать админа в винде)
ну да, не легче же было сдк по другом пути запихнуть
<Обойдёшься😊/>
Ох и тяжело же тебе будет дальше, если ты с этим месяц возишься
ну, не месяц, а прост один раз где-то 20 мин сидел и не разобрался и забил на это
Aleksey
ну да, не легче же было сдк по другом пути запихнуть
запихнуть сдк по другому пути есть костыльное решение, так как русская папка будет и дальше ипать голову переодически
<Обойдёшься😊/>
у меня user называется хе-хе, это из-за этого? ахахаха
Aleksey
у меня user называется хе-хе, это из-за этого? ахахаха
гугли как переименовать администратора в винде, удачи тебе и терпения. да это из за этого
Vadim
ну дагер это тупо средство для внедрения объектов в другие объекты, пофиг что внедрять
видать что то упускаю) error: [Dagger/MissingBinding] android.content.Context cannot be provided without an @Provides-annotated method. public abstract interface AboutComponent {
Flogiston
Как вывести размер полученого пакета в HttpLoginInterceptor?
Vitaly
Почему onSaveInstanceState вызывается у кастомной View при повороте экрана, а onRestoreInstanceState не вызывается? id есть, isSaveEnabled = true
Vitaly
writeToParcel тоже не вызывается
Vitaly
Проверил
Vitaly
Возможно это как-то повлияет на сохранение Но у меня внутри одной Custom ViewGroup программно создана другая Custom ViewGroup, во внутренней ViewGroup я пытаюсь сохранить состояние
Turalllb
видать что то упускаю) error: [Dagger/MissingBinding] android.content.Context cannot be provided without an @Provides-annotated method. public abstract interface AboutComponent {
ну пишет он что не может провайдить контекст либо метод который провайдит контект есть, но не помечен аннотацией
Vadim
ну пишет он что не может провайдить контекст либо метод который провайдит контект есть, но не помечен аннотацией
странно ну вот глянь пожалуйста у меня модуль такой @Module class AboutModule(val appContext: Context) { @FragmentScope @Provides fun provideModel(model: AboutViewModel): ViewModel { return AboutViewModel(appContext = appContext) } } и в самой модели у меня тоже инжектиться class AboutViewModel @Inject constructor(val appContext: Context): ViewModel() { фабрика тоже вроде ок class AboutViewModelFactory @Inject constructor(val appContext: Context) : ViewModelProvider.Factory {
Turalllb
а кто в AboutModule(val appContext: Context) контект передает
Turalllb
при инициализации модулей ?
Vadim
а кто в AboutModule(val appContext: Context) контект передает
private fun injectDependencies() { activity?.let { DaggerAboutComponent.builder().aboutListModule(AboutModule(it)).build().inject( this ) } }
Vadim
private fun injectDependencies() { activity?.let { DaggerAboutComponent.builder().aboutListModule(AboutModule(it)).build().inject( this ) } }
и вот сам интерфейс @FragmentScope @Component(modules = [AboutModule::class]) interface AboutComponent { fun inject(fragment: AboutFragment) }
Vadim
но я вот пробую пересобирать проект но даггер выдаёт ошибку
Turalllb
Я думаю здесь слово инжект лишнее class AboutViewModel @Inject constructor . Так как это класс ты итак создаешь сам в своем провайд методе и сам вручную туда передаешь контекст. А тут фабрика когда генерируется. он ищет какой то метод который возвращает котекст типо @Provides fun contextProvider() : Context
Turalllb
а такого метода у тебя нет
Turalllb
но я вот пробую пересобирать проект но даггер выдаёт ошибку
и при таких моментах когда не ясно где ошибка, когда все вроде норм. стоит очистить проект и по новой, чтобы ранее сгеренированные классы удалились