Я хочу отправить массив пользователей объектов для следующего действия. Я пробовал много вариантов в интернете, но ни один из них не работал. Это не должно быть так сложно, но, похоже, это не работает так, как я хочу. Приложение просто закрывается.
Я прочитал, что должен был Пользователь реализовать Parcelable.
Вот что я пытаюсь сделать в моем Первом занятии :
btnFindMatch.setOnClickListener {
val intent = Intent(this,PeopleActivity::class.java)
intent.putParcelableArrayListExtra("userlist", users)
//intent.putExtra("userlist",users)
startActivity(intent)
}
Мой класс пользователя:
package nl.duoapp.trashtoss.classes
import android.os.Parcel
import android.os.Parcelable
data class User(val name : String, val hobby: String, val description : String, val birthdate : String, val gender : String, val lat : String, val long : String) : Parcelable {
constructor(parcel: Parcel) : this(
parcel.readString(),
parcel.readString(),
parcel.readString(),
parcel.readString(),
parcel.readString(),
parcel.readString(),
parcel.readString()
) {
}
override fun writeToParcel(dest: Parcel?, flags: Int) {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
override fun describeContents(): Int {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
companion object CREATOR : Parcelable.Creator<User> {
override fun createFromParcel(parcel: Parcel): User {
return User(parcel)
}
override fun newArray(size: Int): Array<User?> {
return arrayOfNulls(size)
}
}
}
Читатьданные, которые я использую, следующие:
users = intent.getParcelableArrayListExtra("userlist")
Приложение аварийно завершает работу, прежде чем оно достигнет следующего действия.