我有一个 ListView
,我想在单击项目时导航到下一页。
我需要我的 ListView
的点击项的索引。
我知道这可以使用 Controller
来完成。但我找不到任何例子。
最佳答案
为您的 GestureRecognizer(或按钮)添加 onTap 时,您的闭包可以捕获在 itemBuilder 中传递的索引。
例如
body: ListView.builder(
itemBuilder: (BuildContext context, int index) {
return GestureDetector(
child: Text(index.toString()),
onTap: () => Scaffold
.of(context)
.showSnackBar(SnackBar(content: Text(index.toString()))),
);
},
itemCount: 10));
此代码将显示一个 snackbar ,其中包含您点击的 ListItem 的索引。
获得项目索引后,您可以使用此问题的其他答案提供的代码导航到新页面。
https://stackoverflow.com/questions/51415556/