German Bild in ImageView

Hallo,

ich versuche vergeblich ein ScrollView mit einer Überschrift, einem Bild und einer Beschreibung zu erstellen.
Ich sterbe kläglich beim Laden der Bilder ab.
Zur besseren Übersicht habe ich den Code mal nachvollziehbar vereinfacht. Ohne die Integration der Bilder funktioniert der Code einwandfrei.

Hier der NICHT funktionierende Code

B4X:
Sub SuchErg
    Dim iv As ImageView
    Dim LB1,Lb2 As Label
    Dim z As Int=0
    Scv.Panel.Height = 100dip *Erg
    Bitmaps.Initialize
    Dim b As Bitmap
    Dim bd As BitmapDrawable
    For i =  0 To 10
        b.InitializeSample(File.DirAssets, "Dummy.jpg", 200dip, 200dip)
        Bitmaps.Add(b)
        LB1.Initialize("LB1")
        LB1.Color=Colors.ARGB(255,71,179,80)
        LB1.TextSize =20
        Lb2.Initialize("LB1")
        Lb2.Color=Colors.argb(255,236,218,137)
        LB1.Text =modSQL.tListe.Get(z) ' diese Einträge kommen aus der DB und funktionieren
        Lb2.Text=modSQL.tListe.Get(z+1)
        LB1.Tag=modSQL.tListe.Get(z+2)
        Lb2.Tag=LB1.Tag
        bd.Initialize(Bitmaps.Get(b)) ' Hier knallt es.
        iv.Background = bd
        '        LEFT,           TOP,             WIDTH,            HEIGHT
        Scv.Panel.AddView(LB1, 4dip, i* 100dip, Scv.Width -5, 28dip)
        Scv.Panel.AddView(iv, 4dip,29dip + i * 120dip, Scv.Width - 50dip, 120dip)
        Scv.Panel.AddView(Lb2, 30dip,  i *100dip+149dip,Scv.Width-5dip , 99dip)
        z=z+3
    Next
End Sub
Vielleicht kann mir ja einer helfen? (Die Zuweisung der Dummy.jpg wird später ersetzt)

Gruß Lothar
 

Alexander Stolte

Expert
Licensed User
Alles was du brauchst kann man auch mit nur 1 Code Zeile machen.
Ich habe Das ImageView zum B4XView umbenannt, da man da ganz einfach "SetBitmap" aufrufen kann.
Wozu musst du die Bilder zu "Bitmaps" hinzufügen? du hast die Bilder doch dann im ImageView drin?


B4X:
Sub SuchErg
    Dim iv As B4XView 'statt ImageView B4XView
    Dim LB1,Lb2 As Label
    Dim z As Int=0
    Scv.Panel.Height = 100dip *Erg
    Bitmaps.Initialize

    For i =  0 To 10
        LB1.Initialize("LB1")
        LB1.Color=Colors.ARGB(255,71,179,80)
        LB1.TextSize =20
        Lb2.Initialize("LB1")
        Lb2.Color=Colors.argb(255,236,218,137)
        LB1.Text =modSQL.tListe.Get(z) ' diese Einträge kommen aus der DB und funktionieren
        Lb2.Text=modSQL.tListe.Get(z+1)
        LB1.Tag=modSQL.tListe.Get(z+2)
        Lb2.Tag=LB1.Tag
        iv.SetBitmap(xui.LoadBitmapResize(File.DirAssets,"Dummy.jpg", 200dip, 200dip)'1 Zeile code, mehr ist nicht nötig
        '        LEFT,           TOP,             WIDTH,            HEIGHT
        Scv.Panel.AddView(LB1, 4dip, i* 100dip, Scv.Width -5, 28dip)
        Scv.Panel.AddView(iv, 4dip,29dip + i * 120dip, Scv.Width - 50dip, 120dip)
        Scv.Panel.AddView(Lb2, 30dip,  i *100dip+149dip,Scv.Width-5dip , 99dip)
        z=z+3
    Next
End Sub
 
Hallo Alexander,

ich hatte ein Diary geschrieben. Alles war schon mal fertig. Mir ist mein Notebook abhanden gekommen. In dem steckte dummerweise die der Stick mit der Datensicherung.
Ich fange noch mal bei 0 an. Mist. Letzte verfügbare Sicherung war 20 Tage her.

Ich hatte die Funktion schon lauffähig. Es sollen Einträge gesucht werden. Die Anzeige beinhaltet dann das Datum, das Titelbild und den Text.

Ich suche jetzt nach Vereinfachungen des Codes. Danke für Deine Hilfe.

Gruß Lothar
 
Top