Vista del reciclador
La diferencia entre RecyclerView y ListView radica en las siguientes características:
Si deseas utilizar RecyclerView, debes hacer lo siguiente:
Podemos ver en la imagen a continuación Obtenga más información sobre la estructura básica de RecyclerView de manera más intuitiva:
RecyclerView ya no es responsable del diseño y la visualización de la vista de elementos, por lo que RecyclerView no está abierto para hacer clic en eventos como OnItemClick del Artículo. Esto se puede lograr de la siguiente manera: Debido a que en ViewHolder podemos obtener el diseño raíz de cada elemento, si configuramos un oyente OnClick separado para el diseño raíz y lo abrimos en el adaptador, entonces podremos hacerlo al ensamblar el conjunto RecyclerView. ItemClickListener, excepto que el oyente no está configurado en RecyclerView, sino en el adaptador.
En el diseño de varios elementos, el uso del método getItemViewType no es diferente del de ListView. Cabe señalar aquí que el segundo parámetro de la función onCreateViewHolder(ViewGroup parent, int viewType) es el tipo de Vista, que es el tipo de Vista. Se puede juzgar en función de este tipo. Cree diferentes ViewHolders del proyecto para completar el diseño de múltiples proyectos.
En RecylerView, el Adaptador desempeña dos roles: uno es crear itemView basado en diferentes ViewTypes y el otro es acceder a la recopilación de datos y vincular los datos a la Vista correcta. Esto requiere que implementemos las siguientes dos funciones:
Además, necesitamos anular otro método que le indicará al RecyclerView-Adapter el número total de elementos en la lista de la misma manera que el ListView-Adapter:
ViewHolder describe la posición de itemView y los metadatos de itemView. itemView y la información de metadatos son parte del Adaptador, y su clase de implementación generalmente se usa para guardar los resultados de findViewById. Los elementos principales incluyen:
Con respecto a ViewHolder, aquí presentamos principalmente mFlags:
FLAG_BOUND: ViewHolder se ha vinculado a una determinada posición, mPosition, mItemId y mItemViewType son todos válidos p>
FLAG_UPDATE: los datos correspondientes a ViewHolder vinculados a View están desactualizados y deben reconstruirse. Los datos correspondientes de mPosition y ViewHolder se han eliminado del conjunto de datos
FLAG_NOT_RECYCLABLE: ViewHolder no puede. ser reutilizado
FLAG_RETURNED_FROM_SCRAP: este ViewHolder en estado no se puede reutilizar. -Los ViewHolders en este estado se agregan a la lista de desechos para ser reutilizados.
FLAG_CHANGED: el contenido de ViewHolder cambió, generalmente se usa para indicar la animación de ItemAnimator.
FLAG_IGNORE: ViewHolder completamente animado por lista de diseño. ViewHolder está completamente administrado por LayoutManager y no se puede reutilizar
FLAG_TMP_DETACHED: indica que ViewHolder se ha separado temporalmente del RecyclerView principal para que pueda eliminarse o agregarse nuevamente más adelante
FLAG_ADAPTER_POSITION_UNKNOWN - ViewHolder no conoce la posición del adaptador correspondiente antes de vincularse a la nueva posición
FLAG_ADAPTER_FULLUPDATE --Establecer cuando se llama al método addChangePayload(null)
La función principal de LayoutManager es medir y Coloque itemView y reutilícelo cuando itemView no sea visible para el usuario.