il tipo di argomento 'int' non può essere assegnato al parametro string flutter

Aug 19 2020

sto lavorando su flutter e sono in grado di analizzare perfettamente la mia richiesta API usando dio ma dopo aver elencato il mio articolo invece di salvare la somma totale nel database voglio mostrare la somma utente di due colonne dal database ma incontro il tipo di argomento ' int' non può essere assegnato alla stringa di parametri errore ecco il mio codice

? ListView.builder(
            itemCount: filteredItems.length,
            itemBuilder: (BuildContext context, int index) {
              return GestureDetector(

                onTap: () {
                 
                Navigator.of(context).pushNamed(PostDetail.routeName, arguments: filteredItems[index]);
                },
                child: Card(

                  elevation: 10,
                  child: Padding(
                    padding: const EdgeInsets.symmetric(
                        vertical: 10, horizontal: 8),
                    child: Column(
                      children: <Widget>[

                        Text(
                          filteredItems[index]['product_name'],
                          style: TextStyle(fontSize: 18),
                        ),
                        Text(
                          // here i need to display two columans from database but error appers here
         int.parse( filteredItems[index]['priceOne'])- int parse(filteredItems[index]['priceDisc']); 
                               
                                              
                        ),
                      ],
                    ),

                  ),
                ),
              );
            })

Risposte

1 Uni Aug 19 2020 at 18:32

Ciò sicuramente non visualizzerà alcun testo perché il Textwidget richiede un file String. Quello che dovrai fare è convertirlo intin a Stringper visualizzarlo. Ecco un esempio:

 Text((int.parse(filteredItems[index]['priceOne'])- int.parse(filteredItems[index]['priceDisc'])).toString()), 
1 Captivity Aug 19 2020 at 18:34

Non puoi visualizzare in Testo:Text( int.parse( filteredItems[index]['priceOne'])- int parse(filteredItems[index]['priceDisc']); )

Devi scrivere ad esempio:

Row(
   children: [
    Text(
filteredItems[index]['priceOne'] + ' - '),
    Text(filteredItems[index]['priceDisc'])
]
                           
  or:

          Text((int.parse(filteredItems[index]['priceOne'])- int.parse(filteredItems[index]['priceDisc'])).toString()),