引数タイプ 'int'をパラメータ文字列flutterに割り当てることはできません

Aug 19 2020

私はフラッターに取り組んでおり、dioを使用してAPIリクエストを完全に解析できますが、データベースに合計を保存する代わりにアイテムをリストした後、データベースの2つの列のユーザー合計を表示したいのですが、引数タイプが見つかりました ' int 'をパラメータ文字列に割り当てることができませんエラーここに私のコードがあります

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

                  ),
                ),
              );
            })

回答

1 Uni Aug 19 2020 at 18:32

Textウィジェットはを必要とするため、テキストは表示されませんString。あなたがしなければならないことはそれを表示するためにそれintをに変換するStringことです。次に例を示します。

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

テキストで表示することはできません: Text( int.parse( filteredItems[index]['priceOne'])- int parse(filteredItems[index]['priceDisc']); )

たとえば、次のように書く必要があります。

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

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