我正在尝试使用ListWheelScrollView
列出项目,并且希望对项目具有tapping
的功能,但onTap
似乎不起作用。
这是一个简单的代码
List<int> numbers = [
1,
2,
3,
4,
5
];
...
Container(
height: 200,
child: ListWheelScrollView(
controller: fixedExtentScrollController,
physics: FixedExtentScrollPhysics(),
children: numbers.map((month) {
return Card(
child: GestureDetector(
onTap: () {
print(123);
},
child: Row(
children: <Widget>[
Expanded(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
month.toString(),
style: TextStyle(fontSize: 18.0),
),
)),
],
),
));
}).toList(),
itemExtent: 60.0,
),
)
这段代码有什么问题吗?我很确定这样的事情可以在
ListView
或其他滚动小部件上使用。 最佳答案
我解决了问题。希望对您有所帮助。
_MenuWheelState类扩展State {
int _vIndiceWheel;
ListWheelScrollView的onSelectedItemChanged函数中的
onSelectedItemChanged:(ValueChanged){
setState((){
_vIndiceWheel = ValueChanged; });
},
GestureDetector(
子级:ListWheelScrollView(...
//这是必要的
如果(_vIndiceWheel == null){
_vIndiceWheel = 0;
}
开关(_vIndiceWheel){
案例0:
{
Navigator.push(
上下文
MaterialPageRoute(
生成器:(上下文){
返回YourSecondScreen();
},
...
关于dart - onTap在ListWheelScrollView子项上不起作用-Flutter,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54314573/