Spanish (SOLUCIONADO) El Scroview no presenta todos los items

Discussion in 'Spanish Forum' started by J M Movilla Cuadrado, Oct 14, 2018.

  1. J M Movilla Cuadrado

    J M Movilla Cuadrado Member Licensed User

    En un ScrollView cargo los datos que he leído de un fichero. Utilizo el código que me aconsejasteis recientemente

    Code:
    '   nIndMax es el número de items en ListDat

        
    Dim i As Int
        
    For i = 0 To nIndMax-1
            
    Dim iv As Label
            iv.Initialize(
    "EditoDato")
            
    If i Mod 20 Then
                iv.Color=
    0xFFE290D0
            
    Else
                iv.Color=
    0xFF7EF4E1
            
    End If
            iv.Text=ListDat.Get(i) 
            iv.TextSize=
    16
            iv.TextColor=
    0xFF120202
            iv.tag = i
            ScrollView1.Panel.AddView(iv, 
    15dip20dip * i, ScrollView1.Width - 35dip20dip )

    ' Aquí compruebo que se cargan TODOS los items del ListDat...

        
    Next
    Pero lo que ocurre es que el ScrollView sólo me presenta 23... Se queda bloqueado y no sube más alla de ese número de filas.

    He buscado y buscado, y no sé qué parámetro he de configurar en el ScrollView para evitar esa limitación.

    Por lo demás, la aplicación ya me funciona muy bien, por lo que de nuevo os reitero mi agradecimiento.
     
    Last edited: Nov 7, 2018
  2. Gabino A. de la Gala

    Gabino A. de la Gala Active Member Licensed User

    Quizás tengas que actualizar el valor de ScrollView1.Panel.Height en función del tamaño de los view's agregados.
     
    Seneca likes this.
  3. J M Movilla Cuadrado

    J M Movilla Cuadrado Member Licensed User

    Muchas gracias por interesarte en mi problema. ¿Por cada item que agregue debo actualizar el ScrollView.Panel.Height?

    Oh, no... Perdona; simplemente he puesto tras el bucle de rellenar el scroll:

    Code:
    ScrollView1.Panel.Height=nIndMax*20dip
    y SOLUCIONADO... Mil gracias.
     
    Last edited: Oct 14, 2018
  4. Seneca

    Seneca Active Member Licensed User

    Hola, coincido con Gabino.

    Te falta definir el alto del Panel interno del ScrollView (ScrollView1.Panel.Height). Este panel ha de tener el alto (height) justo para que albergue todos los elementos verticales. Si se define un alto más pequeño de lo necesario, no se visualizarán todos los elementos. Si se define un alto excesivo, se mostrará un espacio vacio al final del scroll.

    En el caso del ejemplo debería ser:

    Code:
    ScrollView1.Panel.Height = nIndMax * 20dip  '(nº de elementos * alto de cada elemento)
    https://www.b4x.com/android/forum/threads/scrollview-example.6612/#post38619

    Saludos.
     
  5. J M Movilla Cuadrado

    J M Movilla Cuadrado Member Licensed User

    Gracias también e ti, Seneca... Pero cuando el moderador apruebe mi post anterior, en el que contestaba a Gabino, verás que ya había incorporado exactamente la línea que tú me aconsejas, y que con ello quedaba el tema [SOLUCIONADO]
     
  6. Seneca

    Seneca Active Member Licensed User

    Ah, bien. Desconocía que hubiese una modalidad de usuario con "control de moderador".
     
  7. Gabino A. de la Gala

    Gabino A. de la Gala Active Member Licensed User

    Mira a ver si puedes editar el título del hilo y poner en él la palabra solucionado para que en futuras búsquedas, la gente sepa
     
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice