tipe argumen 'int' tidak dapat ditetapkan ke parameter string flutter

Aug 19 2020

saya sedang mengerjakan flutter dan saya dapat mengurai permintaan api saya menggunakan dio dengan sempurna tetapi setelah mendaftarkan item saya alih-alih menyimpan jumlah total dalam database saya ingin menunjukkan jumlah pengguna dari dua kolom dari database tetapi saya menemukan tipe argumen ' int 'tidak dapat ditugaskan ke kesalahan string parameter di sini adalah kode saya

? 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']); 
                               
                                              
                        ),
                      ],
                    ),

                  ),
                ),
              );
            })

Jawaban

1 Uni Aug 19 2020 at 18:32

Itu pasti tidak akan menampilkan teks apa pun karena Textwidget membutuhkan a String. Apa yang harus Anda lakukan adalah mengubahnya intmenjadi a Stringuntuk menampilkannya. Berikut ini contohnya:

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

Anda tidak dapat menampilkan dalam Teks: Text( int.parse( filteredItems[index]['priceOne'])- int parse(filteredItems[index]['priceDisc']); )

Anda harus menulis, misalnya:

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

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