Italian Listview inadeguata?

fifiddu70

Well-Known Member
Licensed User
Longtime User
Ciao a tutti, sto spulciando un vecchio programma di gestione delle comande, utilzzo un dbsql lite per immagazzinare in uno spinner le informazioni prese da 3 edittext, 1) per la descrizione del prodotto 2) ingredienti 3) importo in euro, fin qui tutto bene ma volevo adesso sostituire lo spinner che popolavo con il db e volevo usare una listview essendo che permette di aggiungere due righe ed una bitmap, quindi lo vedo più appropriato, ma nel salvare e richiamare poi la sub del database ricevo questo errore: java.lang.NumberFormatException: Invalid double: "Pizza napoli Salame piccante, mozzarella, etc. - Euro 2.50"
qualcuno sa dirmi come fare a risolvere la questione?
posto un pezzo di codice per salvare nel database e l'altro nel richiamare lo stesso, ma li mi da errore.

B4X:
Sub btnm1_Click
   
    mp1.Load(File.DirAssets,"click.wav")
    mp1.Play
    If txtcaricoeuro.Text="" Then
       
        Msgbox("Devi associare un importo al prodotto prima di memorizzarlo","IMPORTANTE !!")
       
    Else
        If txtcaricoeuro.Text.Contains(",") = True Then ' verifico se nella casella di testo sono state messe virgole al posto del punto
            txtcaricoeuro.Text.Replace(",",".")' sostituisco le virgole al posto del punto
        End If
           
        If txtmenu.Text="" Then
           
            Msgbox("Devi inserire un prodotto prima di salvare","AVVISO !!")
        Else
            dbSQL.ExecNonQuery2("INSERT INTO field1 VALUES (?)", Array As String(txtmenu.Text & " - " & "Euro" & " " & txtcaricoeuro.Text )) ' inserisco il prodotto inserito sulla casella di testo txtmenu.text e aggiungo il testo euro ed aggiungo anche il valore in eurodel prodotto immesso sulla casella di testo txtcaricoeuro.text.
            lswpizza.AddTwoLinesAndBitmap (txtmenu.Text & " " & "Euro" & " " & txtcaricoeuro.Text , txtingredienti.Text,LoadBitmap(File.DirAssets,"pizza.jpg")) ' inserisco il prodotto caricato su txtmenu.text, il testo euro ed il prezzo caricato su txtcaricoeuro.text sullo spinner mn1 e cioè su uno dei 8 menù disponibili
            txtcaricoeuro.Text="" ' pulisco la casella di testo txtcaricoeuro.text
            txtingredienti.Text=""
            dbCursor.Close
            pnlpizza.Visible=True
            Msgbox("Prodotto aggiunto, tieni premuto qualche secondo il pulsante elimina se vuoi eliminarla","ESEGUITO")
            txtmenu.Text="" ' pulisco la casella di testo txtmenu.text dove carico i prodotti.
            mn1 ' carico la sub del menù mn1 per visualizzare il prodotto appena inserito.
        End If
           
           
    End If
   
   
    phone1.HideKeyboard(Activity)
    txtcaricoeuro.Text=0
End Sub

mentre questa e la sub che carica quando si apre il programma, qui mi da errore.
qualcuno sa dirmi come risolvere?
B4X:
Sub mn1
   lswpizza.Clear
   dbCursor = dbSQL.ExecQuery("SELECT * FROM field1")
   For I = 0 To dbCursor.RowCount - 1
       dbCursor.Position = I
       lswpizza.GetItem(dbCursor.GetString("data1"))
     
   Next
   dbCursor.Close
 
End Sub

qui ricevo quell'errore : java.lang.NumberFormatException: Invalid double: "BK kjgg - Euro 2.50"
 

MarcoRome

Expert
Licensed User
Longtime User
Fifiddu, mannaggia....

a ListView.GetItem devi passare un item numerico non una stringa

upload_2019-7-17_13-49-45.png
 

fifiddu70

Well-Known Member
Licensed User
Longtime User
Marco, praticamente ho sostituito lo spinner dove popolavo attraverso il db ed ho inserito la listview, perchè più completa, ma si può fare o no?
questa è una sub invece che usa lo spinner e funziona benissimo:
B4X:
Sub mn2
    spmn2.Clear ' spinner
    dbCursor = dbSQL.ExecQuery("SELECT * FROM field2")
    For I = 0 To dbCursor.RowCount - 1
        dbCursor.Position = I
        spmn2.Add(dbCursor.GetString("data2"))
       
    Next
    dbCursor.Close
   
End Sub
 

fifiddu70

Well-Known Member
Licensed User
Longtime User
praticamente devo caricare una descrizione, gli ingredienti, il prezzo, poi salvarli nel database e richiamarli, quando salvo vedo che sulla listview si carica perfettamete tutto, poi nel richiamare la sub va in errore.
 

fifiddu70

Well-Known Member
Licensed User
Longtime User
Si così funziona, però volevo aggiungere sia il nome della pizza, sia la descrizione degli ingredienti oltre al prezzo, se lo lascio così e come avere lo spinner, nello spinner non si possono caricare delle bitmap.
 

MarcoRome

Expert
Licensed User
Longtime User
Puoi aggiungere quello che vuoi....
B4X:
lswpizza.AddTwoLinesAndBitmap....

upload_2019-7-17_15-16-58.png

Guarda la documentazione della ListView.
ciao e Buon Lavoro
 
Top