Actualizando la Vista de Reciclador y Creando Parcelables para la rotation de la pantalla (¿Cuál es el mejor curso de acción aquí?)
He estado tratando de aprender a Kotlin lentamente durante dos meses. Hice una aplicación Reddit en Kotlin para mostrar miniaturas en un Recycler View
Grid Layout
Contextualizando mi situación
- Color de background e image arrastrando en Scroll en recyclerView Android usando Group Adaptor
- java.lang.IllegalStateException: TextView no debe ser nulo (Android / Kotlin)
- ¿Cómo uso un onItemLongClickListener en mi actividad en Android?
- Kotlin: esperando la statement de un miembro
- extensiones kotlin-android en ViewHolder
En el método apiCall
en MainActivity
, llamo a RedditAPI
donde uso retrofit para realizar una llamada de networking y return un Observable
acuerdo con la class
object
ResultValue
Luego recupero el object en MainActivity
y lo visualizo en la Recycler View
, que funcionó muy bien.
Pero cuando implementé scroll infinito y se generaban nuevos objects cada vez que se desplazaba hacia abajo tuve que agregar todos los valores a una mutable list
cumulativeValue
, cambiar la estructura de mi adaptador y simplemente llamar a adapter.notifydatasetchange()
en scroll, también funcionó fuera bien
private val cumulativeValues = mutableListOf<ResultValues.RedditChildrenResponse>()
luego, más adelante, onscrolllistener
networkingditAPI.callParameters(location, page, address.queryLimit, afterValue) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe( { result -> cumulativeValues.addAll(result.data.children.toMutableList())
Mi código funciona, pero quiero implementar la rotation de pantalla y ahora no sé si puedo hacer esto con plots ya que agregué todos los valores recuperados de la llamada de networking a una list mutable
Usé el plugin de kotlin para implementar un plotble
para la class RedditChildrenResponse
que tiene otra class RedditChildrenDetails
como parámetro aquí , también implementé el plotble para esta class (en el mismo enlace).
class RedditChildrenResponse(val data: RedditChildrenDetails) : Parcelable { ...
class RedditChildrenDetails( val url: String, val title: String, val thumbnail: String, val permalink: String, val subnetworkingdit: String ) : Parcelable { ...
Ahora he plotble para estas dos classs, pero todos mis valores se almacenan en una list mutable cumulativeValues
valores que genero en MainActivity
y no veo cómo puedo conectar los valores de la list mutable a las plots que hice.
Mi pregunta es: ¿hay una mejor manera de agregar los datos a la Recycler View
lugar de agregar todo a una mutable list
para que pueda manejarlo más fácilmente en la rotation de la pantalla? ¿Debo usar plotbles para save el estado de la instancia? Todos mis valores están en una list mutable, si pudiera almacenarlo en un package lo haría, pero no hay una putMutableList (), ¿cómo hago esto?
- Haga que los niños de RecyclerView coincidan con la altura de los padres cuando usan el constructor en lugar de inflar para crearlos
- Intentando crear un reciclador simple en Kotlin, pero el adaptador no se está aplicando correctamente
- Android - Kotlin: el object debe declararse abstracto o implementar miembro abstracto
- Android Recycler View Horizontal Desplácese hasta el último elemento y muestre el primer elemento
- Extensión de Kotlin no reconocida en el adaptador
- Cómo extender desde una InnerClass en kotlin
- Compruebe si RecyclerView se desplaza hacia arriba (findFirstCompletelyVisibleItemPosition no funcionará)
- Android solo estableceStackFromEnd solo si RecycleView / List es más grande que la pantalla
- Cómo get un PhoneStateListener cuando usa la funcionalidad Dual SIM
- Cómo usar la biblioteca kmongo para operador de sector