Italian B4XPage e xCustomListView

AlpVir

Well-Known Member
Licensed User
Longtime User
Non riesco a capire perchè non vengono visualizzati i contatti della rubrica telefonica.
La pagina in questione è una B4XPage. Contiene alcune view posizionate con gran precisione nello schermo con delle istruzioni tipo
B4X:
Dim LbSpiegazioni   As Label
LbSpiegazioni.Initialize ("")
LbSpiegazioni.Color = Colors.white
LbSpiegazioni.TextColor = Colors.black
Root.AddView (LbSpiegazioni,4dip,30dip,100%x-8dip,90dip)
Poichè so che la medesima tecnica non può essere utilizzata con le B4XPages ho inserito le seguenti istruzioni in B4XPage_Created
B4X:
Root = Root1
dd.Initialize
xui.RegisterDesignerClass(dd)
If Not(cu.IsInitialized) Then cu.Initialize  ' cu è un riferimento a wmContactUtils
Ho quindi "creato" un XCustomListView che, credo, è andato a finire alle coordinate 0dip, 100dip, 100%x-40dip, 100%y-100dip
B4X:
Dim p3 As B4XView = xui.CreatePanel("")
p3.SetLayoutAnimated(0, 0dip, 100dip, 100%x-40dip, 100%y-100dip)
p3.LoadLayout("clv3")
Poi ho richiamato la sub VisualizzaRubrica che scansiona tutti i contatti della rubrica ed ha le istruzioni centrali seguenti
B4X:
clv3.Add(AggiungiContatto(Nome), TotContatti)
TotContatti=TotContatti+1
Per finire ecco la sub AggiungiContatto
B4X:
Sub AggiungiContatto(Nom As String) As B4XView
   Dim p As B4XView = xui.CreatePanel("")
   p.SetLayoutAnimated(0, 0, 0, 100%x, 30dip)
   p.LoadLayout("clv3_cellitem")
   dd.GetViewByName(p, "Label1").Text = Nom
   Log(Nom) ' questo è OK; qui i nomi appaiono tutti
   Return p
End Sub
A me pare che sia tutto in ordine, anche abbastanza logico (per quel che ne capisco io), ma .... non si vedono i nomi.
Ho commesso senz'altro un errore ma non so quale. Forse che non si possono annidare, nelle B4XPages, delle view ?
In effetti io ho creata una (xcustomlistview clv3 utilizzando il file "clv3.bal" e vorrei, all'interno di questo xcustomlistview creare altre view (con il file "clv3_cellitem.bal").
Si può fare ?
Grazie per l'attenzione.
 
Last edited:

AlpVir

Well-Known Member
Licensed User
Longtime User
[]RISOLTO]
Avevo dimenticato l'istruzione che "fissa" la view clv3
B4X:
Root.AddView(p3,0dip, 100dip, 100%x-40dip, 100%y-100dip)
 
Top