【发布时间】:2021-08-14 11:55:29
【问题描述】:
我有一个名为“newstHomes”的页面,所以这是一个我从我的 api 接收房屋列表的页面,它将在此处列出。所以对于每个家庭,我都会声明一个最喜欢的按钮。所以当我想点击我最喜欢的按钮时,保存我的家庭 id 并且没有导航保存它并将其传递到另一个页面。 这是我的代码:
return GridView.builder(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 1, childAspectRatio: 3 / 1.5),
itemCount: widget.item.length,
itemBuilder: (context, index) {
return InkWell(
onTap: (){
Navigator.of(context).push(MaterialPageRoute(
builder: (context) => PropertyDetailsPage(),
settings: RouteSettings(
arguments: widget.item[index]
)
));
},
child: Align(
alignment: Alignment.topCenter,
child: SizedBox(
width: MediaQuery.of(context).size.width / 1.04,
height: MediaQuery.of(context).size.height / 5,
child: Container(
child: Stack(
children: [
Row(
children: [
FavoriteButton(
iconSize: MediaQuery.of(context).size.width / 10,
isFavorite: false,
valueChanged: (var isFave){
widget.favorite = isFave;
widget.propertyID = widget.item[index].Id;
},
),
Padding(padding: EdgeInsets.only(right: MediaQuery.of(context).size.width / 15,
)),
Text(widget.item[index].Price,
style: TextStyle(
fontFamily: "IranSans",
fontSize: MediaQuery.of(context).size.width / 22
),
),
],
),
Align(
alignment: Alignment.center,
child: Padding(
padding: EdgeInsets.only(top: MediaQuery.of(context).size.height / 14,
left: MediaQuery.of(context).size.width / 30,
right: MediaQuery.of(context).size.width / 8
),
child: Align(
alignment: Alignment.center,
child: Column(
children: [
Text(widget.item[index].Title,
textDirection: TextDirection.rtl,
style: TextStyle(
fontSize: MediaQuery.of(context).size.width / 25,
fontFamily: "IranSans"
),
),
Text(widget.item[index].Area.toString() + ' ' + 'متر مفید',
textDirection: TextDirection.rtl,
style: TextStyle(
fontFamily: "IranSans",
fontSize: MediaQuery.of(context).size.width / 29,
color: Colors.grey[700]
),
),
Text(widget.item[index].DataInsert.toString(),
textDirection: TextDirection.rtl,
style: TextStyle(
fontFamily: "IranSans",
fontSize: MediaQuery.of(context).size.width / 29,
color: Colors.grey[700]
),
),
],
),
),
),
),
Row(
children: [
Padding(
padding: EdgeInsets.only(left: MediaQuery.of(context).size.width / 6),
child: Align(
alignment: Alignment.bottomLeft,
child: Text(widget.item[index].DataInsert.toString(),
textDirection: TextDirection.rtl,
style: TextStyle(
fontFamily: "IranSans",
fontSize: MediaQuery.of(context).size.width / 29,
color: Colors.grey[700]
),
),
),
),
],
),
Align(
alignment: Alignment.centerRight,
child: SizedBox(
height: MediaQuery.of(context).size.height -3,
width: MediaQuery.of(context).size.width / 4,
child: Image.network('https://api.shaarapp.ir/ImageSave/' + widget.item[index].Image,
fit: BoxFit.fill,
),
),
),
],
),
decoration: BoxDecoration(
border: Border.all(color: Colors.grey),
),
),
),
),
);
},
);
【问题讨论】: