我知道这段代码只显示标题,我想制作一个onTap方法来导航到一条新路线,但这就是我的成就,任何帮助,提示,小费,甚至羞辱我,我是多么愚蠢非常感谢。 编辑:我发布了整个代码,因为即使在我到达这里的帮助之后出现了问题。也许是语法问题或者我可能太傻了
Widget build(BuildContext context) {
return new Scaffold(
body: new ListView.builder(
itemCount: data == null ? 0 : 10,
itemBuilder: (BuildContext context, int index){
return new Card(
child: new ListTile(
onTap: _onTapped,
title : new Text(data[index]["title"]),
),
);
},
),
);
} }
答案 0 :(得分:8)
只需将您的标题包装在GestureDecector
中即可处理点击次数。
然后致电Navigator
' pushNamed
重定向到新路线。
new GestureDetector(
onTap: () {
Navigator.pushNamed(context, "myRoute");
},
child: new Text("my Title"),
);
答案 1 :(得分:1)
我发现一种更简单的方法是使用FlatButton(或一些交互式小部件)将项目包装在ListTile中。在您的代码中,例如:
Widget build(BuildContext context) {
return new Scaffold(
body: new ListView.builder(
itemCount: data == null ? 0 : 10,
itemBuilder: (BuildContext context, int index){
return new Card(
child: new ListTile(
title: FlatButton(
child: new Text(data[index]["title"]),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => YourPage()),
);
},
),
),
);
},
),
);