I currently want Output 413 data records in a scroll view. The number of records is steadily increasing. Approx. 12 seconds are required for the output. Is there a way to speed up the output or to program another type of output with a similar appearance?
The planned sample program with data is unfortunately too large, so only extracts from the programming. The code is repeated 413 times in a loop.
Sincerely
strupp01
The planned sample program with data is unfortunately too large, so only extracts from the programming. The code is repeated 413 times in a loop.
Sincerely
strupp01
B4X:
Sub Ausgaben_aus_DB_lesen
Dim T1 As String
DateTime.TimeFormat = "HH:mm:ss"
T1 = DateTime.TimeParse(DateTime.Time(DateTime.Now))
Cursor97 = Starter.SQL_DB.ExecQuery("SELECT Ident_Nr, Finanzverlauf_Name, Konto, Summe_Finanzverlauf, Datum, Datum_zum_sortieren, Kategorie, Beschreibung, Text_Waehrung_Abkuerzung, Speicherpfad_Icon FROM Finanzverlauf")' order by Datum_zum_sortieren, Ident_Nr DESC")
ScrollView_Finanzverlauf.Panel.Width = 780dip
ScrollView_Finanzverlauf.Panel.Height = 82dip+((Cursor97.RowCount-1)*56dip)' +10dip
If ScrollView_Finanzverlauf.Panel.Height < 1000dip Then
ScrollView_Finanzverlauf.Panel.Height = 1000dip
End If
For i=1 To Cursor97.RowCount
Cursor97.Position = i-1
'IconButton für Kont0 erzeugen
KontoIcon.Initialize("KontoIcon")
Dim Button_Konto_Icon As BitmapDrawable
Button_Konto_Icon.Initialize(LoadBitmap(File.DirAssets, "Muenzen_45x30.png"))
KontoIcon.IconPadding = 0 '350 'geändert
KontoIcon.setIcon(True,Button_Konto_Icon)
Dim c As ColorDrawable
c.Initialize2(Colors.White,5dip,3dip,Colors.White)
KontoIcon.Background = c
ScrollView_Finanzverlauf.Panel.AddView(KontoIcon, 15dip, 8dip+(Cursor97.Position*56dip), 80dip, 50dip)
'Textzeilen der Ausgaben ohne Geldbetrag
'1.Zeile
Verschiedene_Ausgaben_Zeile1.Initialize("Verschiedene_Ausgaben_Zeile1")
Dim c As ColorDrawable
c.Initialize2(Colors.White,5dip,3dip,Colors.Transparent)
Verschiedene_Ausgaben_Zeile1.Background = c
Verschiedene_Ausgaben_Zeile1.Text = Cursor97.GetString("Finanzverlauf_Name")
Verschiedene_Ausgaben_Zeile1.Tag = i
Verschiedene_Ausgaben_Zeile1.TextColor = Colors.Black
Verschiedene_Ausgaben_Zeile1.Typeface = Typeface.DEFAULT
Verschiedene_Ausgaben_Zeile1.Gravity = Bit.Or(Gravity.LEFT, Gravity.BOTTOM)
Verschiedene_Ausgaben_Zeile1.TextSize =16
ScrollView_Finanzverlauf.Panel.AddView(Verschiedene_Ausgaben_Zeile1, 100dip, 5dip+(Cursor97.Position*56dip), 660dip, 40dip)
'Textzeilen Ausgabekategorien
'2.Zeile
Verschiedene_Ausgabekategorien_Zeile2.Initialize("Verschiedene_Ausgaben_Zeile2")
Dim c As ColorDrawable
c.Initialize2(Colors.White,5dip,3dip,Colors.Transparent)
Verschiedene_Ausgabekategorien_Zeile2.Background = c
Verschiedene_Ausgabekategorien_Zeile2.Text = Cursor97.GetString("Kategorie")
Verschiedene_Ausgabekategorien_Zeile2.Tag = i
Verschiedene_Ausgabekategorien_Zeile2.TextColor = Colors.Red '.ARGB(255,31,122,31) '(255,26,101,26) '(255,21,81,21)
Verschiedene_Ausgabekategorien_Zeile2.Typeface = Typeface.DEFAULT
Verschiedene_Ausgabekategorien_Zeile2.Gravity = Bit.Or(Gravity.LEFT, Gravity.BOTTOM)
Verschiedene_Ausgabekategorien_Zeile2.TextSize =16
ScrollView_Finanzverlauf.Panel.AddView(Verschiedene_Ausgabekategorien_Zeile2, 100dip, 30dip+(Cursor97.Position*56dip), 660dip, 38dip)
' 'Textzeile der Verschiedene_Ausgaben_Werte nur Geldbetrag Zeile1
Verschiedene_Ausgaben_Werte.Initialize("Verschiedene_Ausgaben_Werte")
Dim c As ColorDrawable
c.Initialize2(Colors.White,5dip,3dip,Colors.Transparent)
Verschiedene_Ausgaben_Werte.Background = c
Verschiedene_Ausgaben_Werte.Text = "-" & NumberFormat2(Cursor97.GetDouble("Summe_Finanzverlauf"), 1, 2, 2, False) & " " & Cursor97.GetString("Text_Waehrung_Abkuerzung")
Verschiedene_Ausgaben_Werte.Tag = i
Verschiedene_Ausgaben_Werte.Color = Colors.Transparent
Verschiedene_Ausgaben_Werte.TextColor = Colors.Red '.ARGB(255,31,122,31)
Verschiedene_Ausgaben_Werte.Typeface = Typeface.DEFAULT_BOLD
Verschiedene_Ausgaben_Werte.Gravity = Bit.Or(Gravity.RIGHT, Gravity.BOTTOM)
Verschiedene_Ausgaben_Werte.TextSize =16
ScrollView_Finanzverlauf.Panel.AddView(Verschiedene_Ausgaben_Werte, 100dip, 5dip+(Cursor97.Position*56dip), 660dip, 40dip)
'Textzeile der Verschiedene_Ausgaben_Datum nur Datum Zeile2
Verschiedene_Ausgaben_Datum.Initialize("Verschiedene_Ausgaben_Datum")
c.Initialize2(Colors.White,5dip,3dip,Colors.Transparent)
Verschiedene_Ausgaben_Datum.Background = c
Verschiedene_Ausgaben_Datum.Text = Cursor97.GetString("Datum")
Verschiedene_Ausgaben_Datum.Tag = i
Verschiedene_Ausgaben_Datum.Color = Colors.Transparent
Verschiedene_Ausgaben_Datum.TextColor = Colors.Black
Verschiedene_Ausgaben_Datum.Typeface = Typeface.DEFAULT
Verschiedene_Ausgaben_Datum.Gravity = Bit.Or(Gravity.RIGHT, Gravity.BOTTOM)
Verschiedene_Ausgaben_Datum.TextSize =16
ScrollView_Finanzverlauf.Panel.AddView(Verschiedene_Ausgaben_Datum, 100dip, 30dip+(Cursor97.Position*56dip), 660dip, 38dip)
'Transparentes Label ohne Text, nur für anklicken und somit starten der Transaktion
Transparenter_Button.Initialize("Transparenter_Button")
c.Initialize2(Colors.Transparent,5dip,3dip,Colors.Transparent)
Transparenter_Button.Background = c
Transparenter_Button.Text = ""
Transparenter_Button.Tag = i
Transparenter_Button.Color = Colors.Transparent
Transparenter_Button.TextColor = Colors.Black
Transparenter_Button.Typeface = Typeface.DEFAULT
Transparenter_Button.Gravity = Bit.Or(Gravity.RIGHT, Gravity.BOTTOM)
Transparenter_Button.TextSize =12
ScrollView_Finanzverlauf.Panel.AddView(Transparenter_Button, 3dip, 7dip+(Cursor97.Position*56dip), 760dip, 56dip)
Canvas1.Initialize(Transparenter_Button)
Canvas1.DrawLine(20dip, 54dip, 750dip, 54dip, Colors.Black, 2dip)
Sleep(0)
Next