列表的容器使用 GestureDetector
包裹,以便响应点击事件。 onTap
方法定义为一个 async
方法,以便使用 await
获取导航返回时的参数,并使用一个 SnackBar
显示返回的 id
。这里 pushNamed
携带了一个 Map
对象将列表的 id
传递到详情页。
@override
Widget build(BuildContext context) {
return GestureDetector(
child: Container(
margin: EdgeInsets.all(MARGIN_SIZE),
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
_imageWrapper(this.imageUrl),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
_titleWrapper(context, this.title),
_viewCountWrapper(this.viewCount.toString()),
],
),
)
],
),
),
onTap: () async {
Map<String, dynamic> routeParams = {‘id’: id};
var arguments = await Navigator.of(context)
.pushNamed