У меня есть класс команды, подлежащей передаче
@Parcelize
class Team(var name: String, var teamMembers: List<String>, var id: UUID): Parcelable
У меня есть служба, которая возвращает список (в настоящее время жестко запрограммированных) команд:
@Module
class TeamInfoModule @Inject constructor(): ITeamInfoModule {
@Provides
override fun getAllTeamData(): List<Team> { ... }
}
Я хочу иметь возможность пройти это список команд во Фрагмент из действия, например, так:
class MainActivity: AppCompatActivity() {
@Inject
lateinit var teamInfoModule: TeamInfoModule;
lateinit var team: Team;
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
DaggerServiceModuleComponent.create().inject(this)
val bundle = Bundle()
val teamArrayList: List<Team> = this.teamInfoModule.getAllTeamData()
val homeFragment = HomeFragment()
bundle.putParcelable("teamData", teamArrayList)
homeFragment.arguments = bundle
}
}
Это выдает ошибку: Type Mismatch. Required: Parcelable? Found: List<Team>.
Я знаю, что одна команда может быть передана моему Фрагменту как это не выдает ошибку.
Мой вопрос: есть ли утилита, которую я не нашел, которая может каким-то образом сериализовать список в Parcelable? У меня была идея создать собственный TeamListClass, который также реализует @Parcelize, но я хотел спросить здесь, прежде чем уйти и написать код, который мне не нужен. Может быть, что-то похожее на JS 'Array.map (), который будет передавать каждый Parcelable в пакет?