列出已更改的侦听器

时间:2018-09-26 09:53:15

标签: dart flutter

我在flutter中有一个listview构建器,用于在我删除要为数据已更改的listview设置侦听器的项目时加载图像。 这是完整的代码,此类用于创建图像样式。

我该如何解决?我想单击图标按钮,我想从列表中删除一个项目, 一次,当我按下另一个按钮或其他东西时,这将被删除

   class Users extends StatefulWidget
   {
    final   List image;
    final File imageURL;
  const  Users  ({Key key, this.imageURL,this.image}) : super(key: key);
 @override
 UserWidgets createState() => UserWidgets();
     }

 class UserWidgets extends State<Users>
  {
  @override
  Widget build(BuildContext context)
  {
   VideoPlayerController playerController;
  VoidCallback listener;
   Widget play=new Icon(Icons.play_arrow);
  Widget pause=new Icon(Icons.pause);

  return new Container(
  height: 200.0,
  child: Stack(
     children: <Widget>[
        widget.imageURL.toString().contains(".jpg") ||widget.imageURL.toString().contains(".png") ||
           widget.imageURL.toString().contains(".jpeg") ?
        new Container(

       child: new Card(
      child: new Column(
      children: <Widget>[
      new GestureDetector(
                  onTap: ()
                        {
                        Navigator.push(context, MaterialPageRoute(builder: (context) =>   VideoApp(file: widget.imageURL,)
                          ),
                          );

                  },
            child:
                new  Image.file(widget.imageURL
                  ,fit: BoxFit.cover,
                  height: 200.0,
                  width: 150.0,

                       ),

                      )
                  ],
                  )
                  ),
              ): widget.imageURL.toString().contains(".mp4") ||widget.imageURL.toString().contains(".3gp") ?
              new Container(
                  height: 100.0,
                   child: AspectRatio(aspectRatio: 10/6,
                        child: GestureDetector(
                    onTap: ()
                  {
                         Navigator.push(context, MaterialPageRoute(builder: (context) =>  VideoApp(file: widget.imageURL,)
                    ),
                      );
                      },
                    child:
                      VideoPlayer(playerController = VideoPlayerController.file (widget.imageURL)
                    ..addListener(listener)
                      ..setVolume(1.0)
                        ..initialize()
                          ,
                            )
                                )
                            )
                          ): new
                          Container(),
                    new  Positioned(
                      child:
                        IconButton(icon: Icon(Icons.remove_circle),
                        color: Colors.black,

                        onPressed : ()
                        {

                          setState(() {
                            widget.image.remove(widget.imageURL);
                            print("helo");
                          });
                        }
                        )
                      ,
                      top: 0.0,
                      right: 0.0,
                    )
                    ],
                  ),
                   );

                    }
                   }

现在我需要知道什么等同于notifdatasetchanged()。

0 个答案:

没有答案