Size: a a a

StartAndroid Ru Kotlin

2020 November 30

v

vorobyoff in StartAndroid Ru Kotlin
Вроде как он позволяет такое провернуть
источник

ИМ

Иван Макеев... in StartAndroid Ru Kotlin
O R
Всем привет! Подскажите, пожалуйста вот что:

У меня есть класс UserModel - наследник от CustomModel.
функция1 возвращает ArrayList<UserModel>, а функция2 на вход требует ArrayList<CustomModel>

Можно ли как-то "на лету" преобразовать ArrayList<UserModel> для передачи в функцию2 ?
кажется вам надо смотреть в сторону дженериков.
источник

☠🇷

☠️ hex 🇷🇺🐍... in StartAndroid Ru Kotlin
Смапить, не?
источник

OR

O R in StartAndroid Ru Kotlin
Иван Макеев
кажется вам надо смотреть в сторону дженериков.
Угу. Сижу, как раз, изучаю их. Пока не пойму как применить :(

Может мне вообще надо копать в другую сторону?
попытаюсь коротко обрисовать задачу:

Есть у меня 2 (а в будущем 12) data class: User, WorkPoint.
Они идентичны по полям  id и name,  а остальные поля различаются.

В логике работы приложения мне надо отразить список каджого из этих классов и обработать выбор.
Сейчас для этого у меня есть два идентичных по строению и логике набора layout для списков, два ViewModel, два Fragment и т.д.
источник

OR

O R in StartAndroid Ru Kotlin
продолжение...
источник

В

Володимир in StartAndroid Ru Kotlin
добрый день, кто может проконсультировать по фрагментам в личке?
источник

OR

O R in StartAndroid Ru Kotlin
И, учитвая, что дата-классов будет 12, делать идентичные по функционалу наборы стало не интересно. Я понимаю. что можно вынести одинаковый функционал в один "родительский" набор, а различия обрабатывать в наследниках.

С layout у меня всё получилось: т.к. дата-классы наследуют CustomDataModel, то его я и использовал в layout списков и для databindings.

А вот как создать супер-класс для ViewModel, наследники которого отличаются между собой только тем, что обрабатывают разные дата-классы и всего одной функцией - загрузкой данных, я никак не соображу :(
источник

OR

O R in StartAndroid Ru Kotlin
В общем, мне сейчас надо каким-то образом объявить абстрактную функцию, реализации которой отличатся между собой тем, что возвращают объекты, разных классов (UserModel, WorkPointModel и т.п.), наследованных от CustomDataModel.
источник

OR

O R in StartAndroid Ru Kotlin
Всё. Решил свою задачу.
Помог этот пример:

abstract class Source<out T> {
   abstract fun nextT(): T
}

fun demo(strs: Source<String>) {
   val objects: Source<Any> = strs // Всё в порядке, т.к. T — out-параметр
   // ...
}

https://kotlinlang.ru/docs/reference/generics.html
источник

S

Shieldy in StartAndroid Ru Kotlin
(6 + 7) Кучкоров.А.А, please, send the solution to the arithmetic operation provided within the time amount specified to this group, otherwise you will be kicked. Thank you! (60 sec)
Powered by Todorant
источник

В

Володимир in StartAndroid Ru Kotlin
источник

В

Володимир in StartAndroid Ru Kotlin
Как открыть фрагмент из фрагмента ?
источник

В

Володимир in StartAndroid Ru Kotlin
И как передавать данные между ними?
источник
2020 December 01

S

Syncended in StartAndroid Ru Kotlin
Можно сделать некий sessionManager и перекидывать данные в него, а то что на скрине - обычная навигация
источник

OR

O R in StartAndroid Ru Kotlin
Володимир
И как передавать данные между ними?
Думаю, что вот это поможет:

https://m.habr.com/ru/post/416025/
источник

OR

O R in StartAndroid Ru Kotlin
Володимир
И как передавать данные между ними?
Данные между фрагментами отлично через LiveData и общую для фрагментов ViewModel передаются. У меня ей служить вьюмоделька основой активити, но может и отдельная от активити быть.
источник

ИМ

Иван Макеев... in StartAndroid Ru Kotlin
O R
Данные между фрагментами отлично через LiveData и общую для фрагментов ViewModel передаются. У меня ей служить вьюмоделька основой активити, но может и отдельная от активити быть.
отдельная от активити не может быть, так как если вы хотите шарить вью модель, вам ее надо привязывать имено к жц родительской активити. если вы подпишите отдельную вью модель к жц фрагмента, то вью модель умрет когда умрет фрагмент.
источник

OR

O R in StartAndroid Ru Kotlin
Иван Макеев
отдельная от активити не может быть, так как если вы хотите шарить вью модель, вам ее надо привязывать имено к жц родительской активити. если вы подпишите отдельную вью модель к жц фрагмента, то вью модель умрет когда умрет фрагмент.
Потому я человеку и написал, что для передачи данных между фрагментами надо общую для них модель и лучше (и проще) всего ее к активити сделать.
источник

ИМ

Иван Макеев... in StartAndroid Ru Kotlin
O R
Потому я человеку и написал, что для передачи данных между фрагментами надо общую для них модель и лучше (и проще) всего ее к активити сделать.
опять же, нет такого как "лучше (и проще)", там только шарить на жц активити, по другому у вас не получится.
источник

OR

O R in StartAndroid Ru Kotlin
Хотя я встречал, что вьюмодель фрагмента передали в другой фрагмент для обмена данными. Оба фрагмента одновременно жили на экране и их жц совпадал
источник