当我使用ListView时,ListTile OnTap功能是正常的。但是当我使用ListWheelScrollView时,它就不起作用了。我的意思是无法触发点击。虽然视图会改变,但我似乎无法点击它。我在很多地方和链接中寻找解决方案,但仍然找不到解决方案。
这是我编写的代码:
@override
Widget build(BuildContext context) {
return new ListWheelScrollView(
physics:FixedExtentScrollPhysics(),
children: getPostList(),
itemExtent: 100.0,
);
}
List<PostListItem> getPostList() {
return _postModal
.map((contact) => new PostListItem(contact))
.toList();
}
这就是我创建ListTile的位置
@override
Widget build(BuildContext context) {
return new ListTile(
onTap: () {
var route = new MaterialPageRoute(
builder: (BuildContext context) =>
new OnTapPost(value: _postModal.fullName),
);
Navigator.of(context).push(route);
},
leading: new Image.asset('assets/images/logo.png'),
title: new Text(_postModal.fullName),
subtitle: new Text(_postModal.email)
);
}
在上面的代码中,列表项无法被点击。但是,如果我将ListWheelScrollView替换为ListView,如下所示,它就可以完美地工作了。
@override
Widget build(BuildContext context) {
return new ListView(
children: getPostList(),
);
}
List<PostListItem> getPostList() {
return _postModal
.map((contact) => new PostListItem(contact))
.toList();
}