после многих исследований я не смог найти реальное решение для моей проблемы.Большинство ответов основаны на присоединении одного объекта к цели и начала нового действия с него.
В моем случае я использую данные из двух разных классов, которые можно продать.У меня есть два разных класса RecyclerView Adapter, которые живут в одном и том же упражнении.
Итак, когда пользователь щелкает набор данных из первого (родительского) класса Adapter, в представлении отображаются все доступные (дочерние) наборы данных извторой класс адаптера.
Я хочу сохранить набор данных родительского объекта, в котором пользователь щелкнул первым, а также дочерний объект, в котором пользователь, наконец, выполнил длинный щелчок.Оба объекта должны быть присоединены к одному и тому же назначению, и когда это будет сделано, должно быть начато новое действие.Данные от обоих объектов (родительского и дочернего) должны быть переданы в новой форме.
Ради ясности я публикую только соответствующие части кода.
Это часть родительского класса адаптера, в которой мне нужно сохранить данные объекта в своего рода «глобальном» намерении, вместо этого мой код будет генерировать только локальное намерение (поэтому оно только закомментировано).
itemView.setOnClickListener {
notifyItemChanged(selectedPos)
selectedPos = adapterPosition
notifyItemChanged(selectedPos)
listener.onHeadItemClicked(weKopf.WENR, p1)
// save parent parcelable object data to "global" intent
// val intent = Intent(context, StorageGoodsActivity::class.java)
// intent.putExtra("weKopf", weKopf)
}
Вот часть кода, в которой я хочу присоединить данные дочернего объекта к тому же намерению, а затем начать новое действие.
itemView.setOnLongClickListener{
notifyItemChanged(selectedPos)
selectedPos = adapterPosition
notifyItemChanged(selectedPos)
listener.onPositionLongClicked(wePos.lfdNr.toInt())
/**
* setting-up for passing objects between activities
*/
val intent = Intent(context, StorageGoodsActivity::class.java)
//intent.putExtra("weKopf", weKopf)
intent.putExtra("wePos", wePos)
context.startActivity(intent)
true
Какой самый элегантный способ сделать это?Моя идея заключалась в том, чтобы сохранить намерение в общем компоненте, но это намерение должно сохраняться до тех пор, пока пользователь нажимает кнопку «Назад», чтобы вернуться к старому действию, и после этого выбирает новое родительско-дочернее созвездие.Если да, то будет ли этот созданный предмет выброшен или он все еще живет в общем компоненте?
Я довольно новичок в Android Studio и Kotlin, и я ценю любую помощь или совет.Огромное спасибо заранее.