Я новичок в kotlin и пытаюсь передать объект из моего адаптера во фрагмент. Но я получаю несоответствие типов в объекте-компаньоне для booklist
. Там написано Required: Parceleable Found: List<ResourcesList>?
Я также пытался использовать putParcelableArrayList
и putParcelableArray
и Serializable
, но также с тем же несоответствием типов.
Моя модель данных выглядит так:
@Parcelize
class ResourcesList (val id: Int,
val name: String,
val content: Contents,
val tags: List<Tags>) : Parcelable
@Parcelize
class Contents (val id: Int,
val producers: List<Producers>,
val categories: List<Categories>,
val isAvailable: Boolean): Parcelable
@Parcelize
class Producers (val name: String,
val role: String): Parcelable
@Parcelize
class Categories (val id: Int,
val name: String): Parcelable
Фрагмент
class SeeAllFragment: Fragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val view = inflater.inflate(R.layout.see_all_layout, container, false)
val bookslist = arguments.getParceleable("bookslist")
return view
}
companion object {
fun newInstance(bookslist: List<ResourcesList>?): SeeAllFragment {
val args = Bundle()
args.putParcelable("bookslist", bookslist)
val fragment = SeeAllFragment()
fragment.arguments = args
return fragment
}
}
}