У меня есть реализация просмотра списка ( в HomeActivity.kt ) пользовательских объектов, отображающих определенные c данные пользователей из ArrayList. Мой setOnItemClickListener работает нормально и переносит пользователя на другое действие ( DetailsActivity.kt ), когда выбран какой-либо элемент. Я хочу передать всю информацию о выбранном пользователе, чтобы отобразить ее в DetailsActicity.kt . Как мне реализовать Parcelable в KOTLIN для этого?
Вот мой HomeActivity.kt
val sectors = arrayOf("Sector", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10")
val sectorOption = findViewById<View>(R.id.sectorOption) as Spinner
if(sectorOption != null){
val sectorAdapter = ArrayAdapter(this, android.R.layout.simple_spinner_item, sectors)
sectorOption.adapter = sectorAdapter
sectorOption.onItemSelectedListener = object : AdapterView.OnItemSelectedListener{
override fun onItemSelected(
parent: AdapterView<*>?,
view: View?,
position: Int,
id: Long
) {
if (parent != null) {
sect = parent.getItemAtPosition(position).toString()
db.collection("Users").whereEqualTo("sector", sect)
.get()
.addOnCompleteListener { task ->
if(task.isSuccessful){
UserList.clear()
for(document in task.result!!){
Log.d(ContentValues.TAG, "test" + document.id + "=>" + document.data)
UserList.add(User(document.get("Name").toString(), document.get("EmailID").toString(), document.get("sector").toString()))
}
UserDataAdapter = UserDataAdapter(ArrayList(UserList), applicationContext)
listview.setAdapter(UserDataAdapter)
}
}
}
}
override fun onNothingSelected(parent: AdapterView<*>?) {
}
}
}
listview.setOnItemClickListener{parent, view, position, id ->
val element = UserDataAdapter?.getItem(position)
val intent = Intent(this, OrderActivity::class.java)
startActivity(intent)
}
И это мой User.kt класс данных
data class User(val Name: String = "",
val sector: String = "",
val Address: String = "",
val Mobile: String = "",
val EmailID: String = ""
)