listview

caillaud

Member
Licensed User
Longtime User
hi
the code:
B4X:
For i = 0 To myarray.Length - 1
Dim ladate As String:ladate=Regex.split("]",daterangeserveur)(i).SubString(2)
Dim label1 As Label:label1 = Listv.SingleLineLayout.Label
label1.Text=Regex.Split("\,","DU,FROM,DEL,DELLA,VOM,")(lang - 1) & ":" & myarray(i).Replace("|","")
If datesvertesdep <> "" Then
If datesvertesdep.IndexOf("ERREURS")=-1 Then
If i < Regex.Split("]",datesvertesdep).Length Then
If Regex.Split("]",datesvertesdep)(i)=ladate Then
label1.Text="green=" & i
label1.TextColor=Colors.Green
Else
label1.TextColor=Colors.red
label1.text="red=" & i
End If
End If 'If i <Regex.Split("]",datesvertesdep).Length Then
End If 'If datesvertesdep.IndexOf("ERREURS")=-1 Then 
End If 'If datesvertesdep <> "" Then
Listv.AddSingleLine(label1.text)
Next

everything is fine
except the color of label1.text
each line of the listview are red
thanks in advance

michel
 

Erel

B4X founder
Staff member
Licensed User
Longtime User
There are three available "models": SingleLine, TwoLines and TwoLinesAndBitmap.
All items sharing the same model will look the same.

If you need to show two types of single line items then you can use TwoLines model and set the second label visibility to false.

Another option is to use ScrollView instead. ScrollView is much more flexible.
 
Upvote 0

caillaud

Member
Licensed User
Longtime User
listview scrollview

Hi thanks for your answer
B4X:
Sub listedatesarr(lang As String, daterangeserveur As String, datesvertesdep As String, Listv As ScrollView)
Listv.Visible=True
'Listv.Clear
Listv.Left=0
Listv.Width=360:'Listv.height=360
Dim i As Int:i = 0
Dim pnl As Panel:    pnl = Listv.Panel
Dim plagetempsdeb As String:plagetempsdeb= plagetempsnew(lang, daterangeserveur, 0, 29)
Dim myarray() As String:myarray =Regex.Split("]", plagetempsdeb)
'Listv.SingleLineLayout.Label.TextSize=15

'Listv.SingleLineLayout.Label.TextColor=Colors.ARGB(255,0,133,158)  '"#FF00859E"

'Listv.SingleLineLayout.ItemHeight=60
Dim cd As ColorDrawable
 cd.Initialize(Colors.White, 0dip)
 'Listv.SingleLineLayout.Background=cd
 Listv.Background=cd
For i = 0 To myarray.Length - 1
Dim ladate As String:ladate=Regex.split("]",daterangeserveur)(i).SubString(2)
Dim label1 As Label:'label1 =label1.Initialize("") ' Listv.SingleLineLayout.Label
label1.TextColor=Colors.yellow:' label1.TextColor=Colors.ARGB(255,0,133,158)
label1.TextSize=16
label1.Text=Regex.Split("\,","DU,FROM,DEL,DELLA,VOM,")(lang - 1) & ":" & myarray(i).Replace("|","")
If datesvertesdep <> "" Then
If datesvertesdep.IndexOf("ERREURS")=-1 Then
'Listv.SingleLineLayout.Label.TextColor=Colors.ARGB(255,0,133,158)  '"#FF00859E"
'label1.TextColor=Colors.ARGB(255,0,133,158)
'Else
If i < Regex.Split("]",datesvertesdep).Length Then
If Regex.Split("]",datesvertesdep)(i)=ladate Then
'Listv.SingleLineLayout.Label.TextColor=Colors.Green
label1.Text="green=" & ladate & ">" & Regex.Split("]",datesvertesdep)(i) & "<" 
label1.TextColor=Colors.Green
Else
'Listv.SingleLineLayout.Label.TextColor=Colors.red
label1.TextColor=Colors.red
label1.text="red=" & i
End If
'Else
'Listv.SingleLineLayout.Label.TextColor=Colors.DarkGray
'label1.TextColor=Colors.DarkGray
End If 'If i <Regex.Split("]",datesvertesdep).Length Then
End If 'If datesvertesdep.IndexOf("ERREURS")=-1 Then 
End If 'If datesvertesdep <> "" Then
'Listv.AddSingleLine(Regex.Split("\,","DU,FROM,DEL,DELLA,VOM,")(lang - 1) & ":" & myarray(i).Replace("|",""))
'Listv.AddSingleLine(label1.text)
'pnl.AddView(label1, 125dip, height * (i - 1), 120dip, height)
pnl.AddView(label1,0,60*i,320,60)
Next
'Listv.AddSingleLine("")
'Listv.AddSingleLine("")
'Listv.AddSingleLine("")
'Listv.AddSingleLine("--------------------------------")
'Listv.AddSingleLine("--------------------------------")
'Listv.AddSingleLine("--------------------------------")
End Sub
I changed from listview to scrollview
why:
label1.TextColor=Colors.yellow
label1.TextSize=16
are refused?

sincerely
michel
 
Upvote 0

caillaud

Member
Licensed User
Longtime User
listview scrollview

hi
thanks very much for your answer
in fact I implemented your first suggestion:
listview with 2 label lines one red one green
Label.TextColor =Colors.green and Listv.AddTwoLines(mystring,"")
SecondLabel.TextColor =Colors.red and Listv.AddTwoLines("",mystring)

It works correctely
thanks again
sincerely
michel
 
Upvote 0
Top