es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Función DataReload de Xamarin.Forms: Cuando se llama desde un controlador de eventos, ObservableCollection parpadea inmensamente.

Vuelvo a cargar elementos desde una función simple.

Si llamo a la función de recarga estáticamente, de esta manera:

LoadMoreAds(4);
LoadMoreAds(8);
LoadMoreAds(12);
LoadMoreAds(16);

todo funciona bien.

Pero si pongo esto dentro del controlador de eventos para la aparición de elementos para que se recargue dinámicamente:

private void listview_allAds_FlowItemAppearing(object sender, ItemVisibilityEventArgs e)
{
TinyAd current = e.Item as TinyAd;

if (current == contentOfListView[contentOfListView.Count-1])
{
LoadMoreAds();
}
}

Los elementos que ya están dentro de la colección observable parpadean mucho durante unos cuadros hasta que se completa la recarga. luego están bien hasta que ocurre la próxima recarga.

Esta es mi lista:

¿Alguien ha tenido un problema similar?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Parece que cuando se llama a la función de recarga dinámicamente dentro del controlador de eventos para la aparición del elemento, los elementos ya existentes en la colección observable parpadean. Una solución podría ser usar una bandera booleana para evitar que la función de recarga sea llamada varias veces mientras todavía se está ejecutando. Otra solución podría ser usar un evento diferente o una combinación de eventos para desencadenar la función de recarga. También es posible que haya un problema con la implementación de la propia función de recarga que esté causando este comportamiento de parpadeo. Puede ser necesario realizar una investigación y pruebas adicionales para identificar y resolver el problema.

Comments are closed.