Italian Checkbox in una lista

toro1950

Active Member
Licensed User
Sagenut, ho provato il tuo codice con Label5 e funziona, ma come dicevo prima adesso come ricavo la posizione per poter leggere l'ID riportato sulla label4
 

LucaMs

Expert
Licensed User
Longtime User
In B4I sulle label si può utilizzare l'evento Click, LucaMs ho provato il file ToroCLV ma non funziona come speravo,
la sub IItemLabel_Click mi restituisce sempre Nome, Cognome e Professione come la mia ItemClick, io speravo che mi restitusse
solo quello riportato dove effettuo il tap, cosi non mi è utile
Guarda bene il sorgente e la lunga spiegazione che vi ho aggiunto!

1754977600579.png
 

Filippo

Expert
Licensed User
Longtime User
Ho fatto una piccola modifica nel codice di @LucaMs, penso che possa esserti di aiuto.

B4X:
Private Sub FillCLV
    clvPersone.Clear
    
    Dim RS As ResultSet
    RS = mDB.ExecQuery("SELECT * FROM persone")
    Dim Nome, Cognome, Professione As String
    Dim id As Int
    Do While RS.NextRow
        Nome = RS.GetString("nome")
        Cognome = RS.GetString("cognome")
        Professione = RS.GetString("professione")
        id = RS.GetInt("id")
        clvPersone.Add(CreateItem(Nome, Cognome, Professione, id), "")
    Loop
    RS.Close
End Sub

Private Sub CreateItem(Nome As String, Cognome As String, Professione As String, id As Int) As B4XView
    Dim pnlItem As B4XView
    pnlItem = xui.CreatePanel("Item")
    pnlItem.SetLayoutAnimated(0, 0, 0, clvPersone.AsView.Width, 50dip)
    pnlItem.LoadLayout("layItem")
    lblNome.Text = Nome
    lblNome.Tag = id
    lblCognome.Text = Cognome
    lblProfessione.Text = Professione
    Return pnlItem
End Sub

Private Sub ItemLabel_Click
    Dim ItemIndex As Int
    ItemIndex = clvPersone.GetItemFromView(Sender)

    Dim pnlItem As B4XView
    pnlItem = clvPersone.GetPanel(ItemIndex)

    Dim Nome As String = pnlItem.GetView(0).Text
    Dim Cognome As String = pnlItem.GetView(1).Text
    Dim Professione As String = pnlItem.GetView(2).Text

    Log("Nome: " & Nome)
    Log("id: " & pnlItem.GetView(0).tag)
    Log("Cognome: " & Cognome)
    Log("Professione: " & Professione)
    Log("--------------------")
End Sub
 

Sagenut

Expert
Licensed User
Longtime User
@toro1950
Sono quasi sicuro che negli esempi che ti hanno postato ci sia tutto quello che ti serve.
Appena avrò di nuovo accesso al PC eventualmente ti posto qualcosa anche io.
Però un consiglio subito:
Non lasciare mai i nomi delle view di default.
Avere label1, label2, label3.... Non ti aiuterà.
Avere invece qualcosa come lblNome, lblCognome, lblProfessione.... Renderà tutto più semplice e comprensibile.
 

LucaMs

Expert
Licensed User
Longtime User
java_4tF1eQZ6Cz.gif


(Progetto allegato. Come detto, per la versione B4I, crea i layout e copia il loro contenuto dal progetto B4A)


Nota che se non ti va bene nemmeno così, "vengo a prendere il Toro per le corna!" 😄
 

Attachments

  • ToroCLV.zip
    19.9 KB · Views: 17

toro1950

Active Member
Licensed User
Buongiorno☕, scusatemi se non ho risposto subito, ieri sono stato molto occupato, ho letto gli ultimi post di Filippo, Sagenut e LucaMs solo ora,
però dopo che LucaMs mi aveva consigliato di guardare bene il sorgente avevo risolto nel giro di pochi minuti, nel sorgente c'era tutto che cercavo,
purtroppo non avevo controllato bene, avevo solo provato il sorgente così come era. Ringrazio Sagenut e Filippo per i consigli e ringrazio LucaMs
per la pazienza che ha avuto nel prepararmi due esempi, l'ultimo non l'ho neanche scaricato, lo farò questa sera, anche oggi sarò in altre faccende
affaccendato.
 

LucaMs

Expert
Licensed User
Longtime User
Per niente, se...
la fai creare a Copilot ed hai la pazienza di litigarci un po' 😂
In realtà avevo iniziato col fare una cosa non poco diversa.

Erel ha creato delle animazioni usando BitmapCreator. Una di queste è ImplodeAnimated, che spezzetta un'immagine e poi la ricostruisce, facendo "ruotare" vorticosamente i pezzetti fino a riunirli nell'immagine originale.
Volevo fare l'opposto, ExplodeAnimated, ovvero "disintegrare" un'immagine (e, in questo caso, un item di una CLV).

Così ho passato a Copilot il sorgente di Erel e gli ho chiesto di creare la versione "esplosiva".
Dopo parecchi tentativi, il risultato finale è buono
java_9ajLNs4bxh.gif

ma non va bene per gli item, per cui gliene ho fatta creare una molto diversa e più semplice, appositamente per gli item, quella che trovate nel progetto allegato al mio post preDecente.
 
Last edited:
Top