2017-03-11 1 views
0

각각 GestureDetectoronTap 메서드 세트가있는 자식이있는 GridView를 만들었습니다. 그러나 onTap 이벤트는 뷰가 만들어 질 때만 호출되고 항목이 탭되었을 때 호출되지 않습니다. 여기서 내가 뭘 잘못하고 있니?GridView onTap은 생성시에만 호출됩니다.

class MyGridView extends StatelessWidget { 

    @override 
    Widget build(BuildContext context) { 
    return new Column(
     children: <Widget>[ 
      new Expanded(
       child: new GridView.count(
        crossAxisCount: 2, 
        children: [ 
        new GridItem(0), 
        new GridItem(1) 
        ] 
      ) 
     ) 
     ] 
    ); 
    } 
} 

class GridItem extends StatelessWidget { 
    final int code; 
    GridItem(this.code); 

    @override 
    Widget build(BuildContext context) { 
    return new GestureDetector(
     onTap: print(code), 
     child: new Container(
      height: 48.0, 
      child: new Text('$code') 
     ) 
    ); 
    } 
} 

답변

5

당신이 원하는 :

onTap:() { print(code); },

당신이 다음 ONTAP 핸들러, 실제로 비활성화로 (널 예정) 인쇄의 반환 값을 저장, 인쇄를 호출하고있는 onTap 핸들러. 로그에서 무엇인가를 볼 수 있다면 실제로 도청했을 때부터가 아니라 도청했을 때가됩니다.