如何制作列表并单击项目以导航到新路线

时间:2018-02-11 17:47:31

标签: dart flutter

我知道这段代码只显示标题,我想制作一个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"]),
        ),
      );
    },
  ),
);

} }

2 个答案:

答案 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()),
                  );
                },
              ),
            ),
          );
        },
      ),
    );