Para hacer un infidente voy a ocupar modificar un poco mi estructura que tengo actualmente.
Lo primero va a ser crearme un método llamado agregar 5.
Así se llama agregar 5 imágenes cada vez que yo llame.
Este método va a agregar 5 imágenes a la lista.
Como sabemos eso será un ciclo Fornos mal nada del otro mundo.
Aquí no saben que hagamos de 10 en 10 agregar 10 se va a llamar de 10 en 10.
Igual cero pero pongámosle uno mejor.
Y ahora lo que yo quiero hacer acá es ir agregando esos números a mi lista de números pero no voy a
agregar ese Index.
Voy a crearme otra propiedad acá llamada un Internet llamado último último item o último número cuando
yo inicio la página o cuando se crea amistad Willett el último Aitken va a ser el cero.
Ok entonces aquí voy a llamar el último hay temas más o sea la primera vez que lo llame va a ser el
1 2 3 4 5 y así hasta el 10.
Luego voy a decir que lista números a y voy a agregar ese último ítem que ese último ítem que perfectamente
pudo haber hecho todo el cálculo dentro de este objeto y bueno hay muchas maneras de hacerlo.
Ok una vez ya obtengo los 10 elementos voy a llamar el sextete para indicar qué cambió mi Willet y hay
que redibujar por cualquier cosa ok loscambios esto no hace nada en mi aplicación sigue funcionando
como lo tenía originalmente.
Este agregar 10 yo lo voy a llamar en un espacio importante de mi aplicación.
Voy a colocar esto como una lista vacía.
Ustedes saben que eso haría que la lista tenga un valor de Nul y por consecuencia si yo grabo los cambios
y aquí voy a tener que hacer un joto ISTAT pero la lista tiene Nul o sea el valor de la lista es nulo
y si yo entro el Wílder va a fallar porque no puede llamar la propiedad length de algo que tenga el
valor de Null ok eso está bien es error yo intencionalmente lo acabo de generar pero yo voy a necesitar
llamar la generación de esos elementos en una etapa del ciclo de vida de la creación de un widget perfectamente
yo puedo yo pude haberlo llamado en el método Builes o de crearlo 10 pero no lo quiero demostrar con
el siguiente método ese método se llama init State.
Van a ver que ustedes ya tienen este mixtape y también tienen.
Bueno tenemos dos de hecho cualquiera de los dos snippets para crear algo parecido a esto el INET no
es más que un método que no regresa nada se tiene que llamar de esa manera y también tiene que llamar
el Super Punto y Ned Stark este super hace referencia a la clase Steyn y la inicializar.
Esto es necesario y siempre lo van a dejar ahí y hay que sobreescribir porque yo quiero ejecutar este
código en este preciso instante.
Voy a decir quiero agregar esos 10 elementos ok aquí también podría inicializar esta lista de números
pero lo puedo hacer.
Una vez acá hubo lista para Póntico.
Si yo grabo toda la información vamos a ver qué sucede.
Esperemos aquí vamos a tener que ser otro ISTAT porque la lista sigue siendo a pesar de que yo agregué
esto.
Entonces esperemos un momento entro a la lista cargan y aquí deberíamos de tener 10 elementos o 9.
Pero bueno creo que son 10 tenemos 10 elementos hay esas dos imágenes son diferentes no tengo el celular
que esté en otra posición porque nada más es que se parecen mucho.
Qué es lo que tengo que hacer ahora.
Tengo que ser capaz de detectar cuándo me encuentro en el final de la lista.
Cuando llego al final de la lista y empieza bueno aparece esto yo tengo que llamar a cargar nuevamente
estas 10 imágenes y a su vez sería bonito poner un loading o algún widget que me permita a mí mostrar
esa barra de carga.
Para eso voy a ocupar un elemento especial llamado scroll controlé que es el controlador del scroll
de la lista.
Sonará complicado pero realmente es bastante útil saberlo usar porque van a poder controlar el scroll
a su voluntad inclusive van a poder moverlo como ustedes dicen.
Aquí voy a crear una propiedad llamada scroll controller de tipos con el controller llamada scroll controles
y esto va a ser igual a un nuevo scroll.
Controles.
Qué diablos es todo esto.
Bueno es simplemente un objeto que todavía no está asignado en ningún lugar.
Qué me va a permitir a mí controlar un esquirol.
Puede ser de varias listas puede ser de varias cosas.
Este scroll controller se lo voy a asignar a éste crear listas que tengo acá en el LISMI Wilder tenemos
una propiedad llamada controlé y ahí es donde voy a enlazarlas el scroll controles.
Esto es exactamente lo mismo cuando nosotros hicimos lo de las cajas de texto no sé si se acuerdan que
creamos un input text controle el cual usábamos para poder establecer el valor a esa caja de texto mediante
código de programación.
Es lo mismo.
Simplemente estamos asignando ahora el escoró controle que me va a permitir a mí poderlo mover de posición
y todo eso.
Entonces aquí en el Ineed State voy a agregar un link tener a ese es crol lo voy a colocar justo abajo
agregar 10 puede decir que les Krol controller punto a Liz tener este Liste voy a poner aquí un método
una función Kovac aquí adentro y esto se va a disparar cada vez que se mueva el scroll en un print y
diga scroll ok.
También podría colocar el valor del scroll si quieren podríamos.
Bueno dejémoslo así primero voy a grabar los cambios déjenme mostrarles aquí el de consol limpiarlo
y voy a intentar hacer un scroll.
Ok no pasó nada y no pasó nada porque recuerden que hacer el otro Istar perdón mejor Pilot.
Yo no estoy volviendo a llamar el init State por consecuencia tendría que hacer otro Istar o regresarme
y volver a entrar a la página para que se dispare el método.
Ahí está ahí va Euba y cuando llegamos al final ya no aparece nada más el scroll tiene varios valores
interesantes.
Déjenme borrar este print uno de ellos es la posición actual en píxels y el otro sería.
Cuál es el máximo de pixeles que tiene.
Podríamos hacer una pequeña y simple edición que diga si el scroll controlen punto position punto pixels
o sea si la posición de píxeles es exactamente igual al color controles punto.
Position Tab.
Punto.
Y aquí tenemos el MAKS scroll extent o sea ese es el largo máximo que tiene.
Cuando yo estoy aquí al final por ejemplo tenemos mil píxeles.
Si la posición actual es de mil pixeles y el scroll máximo es de mil pixeles quiere decir que estamos
al final de la página.
Ese es el simple cálculo de la misma manera ustedes pueden saber cuando están arriba cuando está en
medio y toda la cosa cuando estoy al final de la página.
Hagamos algo sencillo llamado agregar 10 nuevamente puntico más.
Voy a grabar los cambios y vamos a probar y vamos a hacer un Pillow.
Vamos a ver si funciona.
Llegó hasta abajo.
No funciona déjeme hacer un joto Istar sólo para estar seguro para que se listan entre en funcionamiento.
Sobre las listas estamos cargando las 10.
Estas son las 10 oficial en las primeras llegó el final y ahí tenemos las otras 10.
Llegamos al final tenemos las otras 10 y pareciera pareciera que está funcionando correctamente mi aplicación
ok excelente vamos a ver estamos cargando los demás y haciendo scroll hacia abajo.
Igual podrían restarle unos 100 pixeles a la posición actual o sumarle unos 100 pixeles más.
Para asegurarse que cuando estamos cerca de llegar al final ahí es donde vamos a llamar el siguiente
método.
Ahora esto está bien pero me gustaría hacer una simulación cuando hagamos una petición Fetch mediante
HTTP o sea quiero ralentizar un poco la carga para que yo pueda mostrar un loading o algún widget que
me diga por favor espere estoy cargando más información que eso sería lo tradicional.
Pero eso en el próximo video.