Я пытаюсь разобраться в проблеме и не могу найти какое-то конкретное решение.
Базовый класс
open class FeedBase() : Parcelable{
var type : String =""
constructor(parcel: Parcel) : this() {
type=parcel.readString()
}
override fun writeToParcel(parcel: Parcel, flags: Int) {
parcel.writeString(type)
}
override fun describeContents(): Int {
return 0
}
companion object CREATOR: Parcelable.Creator<FeedBase> {
override fun createFromParcel(parcel: Parcel): FeedBase {
return FeedBase(parcel)
}
override fun newArray(size: Int): Array<FeedBase?> {
return arrayOfNulls(size)
}
}}
Элемент Класс, содержащий класс данных и расширяющий Базовый класс
@Parcelize
data class FeedItem(var feed:Feed) : FeedBase()
& Класс данных
@Parcelize
data class Feed(var test:String,var score:Int) : Parcelable
Сейчас я пытаюсь отправить свои данные по действиям и создаю свой объект, как показано ниже
val feedItem = FeedItem(Feed("yolo", 1000))
feedItem.type="test"
, но яне удалось получить правильный тип (var в базовом классе).Он становится пустым всякий раз, когда я получаю объект от намеренного предложения в другом действии, но данные элемента сохраняются.Как я могу решить эту проблему?