German Probleme mit Scrollview

umsid

Member
Licensed User
Hallo,

ich habe mir mal die Scrollview Geschichte angesehen.
Habe ein Demo, mit dem alles recht schön funktioniert.
Grundlage war das ScrollViewNLayouts von aus der Example Summery von Erel:

ScrollView, layouts and getting current selected
Each item is a Panel
With a label, an EditText and a Button on each itempanel


scrollviewnlayouts-jpg.7398




Bei der Aufgabe, das nachzubauen, bin ich aber gescheitert.

Mein Scrollview soll 100 Einträge haben, es werden aber immer nur die ersten paar angezeigt.
(Wie will im Scrollview "Bereich" nicht mehr Platz wäre.

Ich habe den Code aus meiner App extrahiert - also nicht wundern, wenn da etwa viel Kommentar drinnen ist, hab einfach alles, was gestört hat nicht gelöscht, sondern auf Kommentar gesetzt.

In der Anlage mal das Zip File, vielleicht findet jemand auf die Schnelle den Fehler - viel kann es nicht sein. :-(

Viele Grüße
Guenter
 

Attachments

  • scrollview.zip
    222.7 KB · Views: 165

klaus

Expert
Licensed User
Du musst am Ende die Höhe des internen Panels angeben:
svStage.Panel.Height = i * PanelHeight + 5dip

B4X:
Sub FillScrollViewStage
   
    Dim PanelHeight As Int    : PanelHeight=30dip
   
    For i = 0 To 100
        Dim pnZeile As Panel
        Dim lbTest As Label
        pnZeile.Initialize("pnZeile")
        svStage.Panel.AddView(pnZeile,0,5dip+i*PanelHeight,100%x,PanelHeight)
        pnZeile.Tag=i
        If (i Mod 2)=1 Then
            pnZeile.Color=Colors.Gray
        Else
            pnZeile.Color=Colors.DarkGray
        End If
        lbTest.Initialize("lblTest")
        pnZeile.AddView(lbTest,10dip, 5dip, 80dip, 40dip)
        lbTest.Tag=i
        lbTest.TextSize=14
        lbTest.Text="Test "&i
    Next

    svStage.Panel.Height = i * PanelHeight + 5dip
End Sub
 

umsid

Member
Licensed User
Hallo Klaus,

vielen Dank.
Stimmt, das ist in dem Beispiel auch so und ich habe es übersehen.

Nochmals Danke
Guenter
 
Top