现在我在页面的主体上有一个按钮,但无法实现此按钮(路由到另一个页面)来仅封装是
的卡片child: new Text(data["data"][index]["title"]),
它在itemBuilder中,所以我认为我必须做一个GestureDetector。我尝试过将那个孩子放到GestureDetector方法中,但是除非它整个身体都不能使它正常工作。
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text("Listviews"),
),
body: new GestureDetector(
onTap: () {
Navigator.push(context,
MaterialPageRoute(builder: (context) => StandardsControlPage()),
);
},
child: Container(
padding: EdgeInsets.all(16.0),
child: new ListView.builder(
itemCount: data == null ? 0 : data["data"].length,
itemBuilder: (BuildContext context, int index) {
return new Card(
child: new Text(data["data"][index]["title"]),
);},
),
),
),
);
}}
如果我有多个按钮可以按不同的路线按此示例,则该示例将无法正常工作,并且想知道是否有实现针对那个孩子的通过该路线的按钮,我该怎么做?
答案 0 :(得分:2)
return new Scaffold(
appBar: new AppBar(
title: new Text("Listviews"),
),
body: Container(
padding: EdgeInsets.all(16.0),
child: new ListView.builder(
itemCount: data == null ? 0 : data["data"].length,
itemBuilder: (BuildContext context, int index) {
return new GestureDetector(
child: new Card(
child: new Text(data["data"][index]["title"]),
),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => StandardsControlPage()),
);
},
);
},
),
));
我认为这会起作用。