我正在努力工作,我能够完美地使用dio解析我的api请求,但是在列出我的项目而不是在数据库中保存总和之后,我想显示数据库中两列的用户总和,但是我遇到了参数类型'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']);
),
],
),
),
),
);
})
答案 0 :(得分:1)
因为Text
小部件需要String
,所以绝对不会显示任何文本。您需要做的就是将int
转换为String
以显示它。这是一个示例:
Text((int.parse(filteredItems[index]['priceOne'])- int.parse(filteredItems[index]['priceDisc'])).toString()),
答案 1 :(得分:1)
您无法以文本显示:
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()),