У меня есть адаптер ресайклера пользовательского интерфейса Firestore, использующий Kotlin на Android, и я хотел бы выбрать из него элементы и передать выбранные результаты второму Recyclerview во втором действии. FirestoreRecyclerOptions имеет метод setSnapshotArray, который может мне помочь, если я смогу передать его в намерении. Я также мог бы расширить класс Activity и сделать FirestoreRecyclerOptions переменной с глобальной областью видимости. Я также мог использовать тег на держателе просмотра, чтобы установить выбранный флаг в моем классе модели. Как правильно это сделать?
У меня нет проблем с передачей объектов в намерении второму действию или с использованием общих предпочтений, чтобы, по сути, делать то же самое. Моя проблема - использовать setSetSnapshotArray в FirestoreRecyclerOptions
Мне удалось обработать адаптер Firebase recyclerview с помощью объекта моментальных снимков, который я могу перемещать, доступ к сбору данных и DocumentRefrence. Я добился успеха с перетаскиванием, а также с вставкой / удалением данных из адаптера и базы данных с помощью этого объекта моментальных снимков. Обладая этой возможностью, теперь я могу передавать данные с намерением для второго действия Пример из адаптера
override fun onItemMove(fromPosition: Int, toPosition: Int) {
var from: Cust = snapshots.get(fromPosition)
var toSnap: DocumentSnapshot = snapshots.getSnapshot(toPosition)
var toRef: DocumentReference = toSnap.reference
from.positionMo = toPosition
notifyItemMoved(fromPosition, toPosition)
}
fun saveIndexes(){
for(x in snapshots){
x.positionMo=snapshots.indexOf(x)
snapshots.getSnapshot(x.positionMo).reference.update("positionMo",x.positionMo)
}
}
Здесь вы можете найти руководство о том, как создать Приложение для чата с использованием Kotlin, где я объяснил, как вы можете передавать объекты между действиями.