Flutter 错误 "Multiple widgets used the same GlobalKey" - 将 ScreenShot 与 SocialShare 插件一起使用
Flutter error "Multiple widgets used the same GlobalKey" - using ScreenShot with SocialShare plugins
我不确定在哪里可以找到与我的应用程序中的另一个小部件共享相同全局密钥的额外小部件。我正在使用屏幕截图和社交分享插件。
https://pub.dev/packages/screenshot
https://pub.dev/packages/social_share
我想在分享到 Facebook Messenger 等社交媒体时上传截图。但是我在我的控制台中收到以下错误,这是在我添加屏幕截图控制器后才发生的;
Flutter Multiple widgets used the same GlobalKey
我在哪里遇到这个问题?我在状态下创建了截图实例;
class _StageBuilderState extends State<StageBuilder> {
ScreenshotController screenshotController = ScreenshotController();
这是构建;
Widget createViewItem() {
return Screenshot(
controller: screenshotController,
Column(
children: <Widget>[
child: Image.network( myavatar),
child: IconButton(
icon: Icon(Icons.share),
onPressed: () async {
await screenshotController.capture().then((image) async {
SocialShare.shareOptions("http://myurl", imagePath: image.path);
}
);
},
),
],
),
),
}
那么这个额外的小部件在哪里与我的应用程序中的其他小部件共享相同的全局密钥?我应该从哪里开始进行故障排除?
原来我必须将屏幕截图控制器制作在本地并将其放在这里;
Widget createViewItem() {
ScreenshotController _screenshotController = ScreenshotController();
return Screenshot(
controller: screenshotController,
Column(
children: <Widget>[
child: Image.network( myavatar),
child: IconButton(
icon: Icon(Icons.share),
onPressed: () async {
await screenshotController.capture().then((image) async {
SocialShare.shareOptions("http://myurl", imagePath: image.path);
}
);
},
),
],
),
),
}
我不确定在哪里可以找到与我的应用程序中的另一个小部件共享相同全局密钥的额外小部件。我正在使用屏幕截图和社交分享插件。
https://pub.dev/packages/screenshot
https://pub.dev/packages/social_share
我想在分享到 Facebook Messenger 等社交媒体时上传截图。但是我在我的控制台中收到以下错误,这是在我添加屏幕截图控制器后才发生的;
Flutter Multiple widgets used the same GlobalKey
我在哪里遇到这个问题?我在状态下创建了截图实例;
class _StageBuilderState extends State<StageBuilder> {
ScreenshotController screenshotController = ScreenshotController();
这是构建;
Widget createViewItem() {
return Screenshot(
controller: screenshotController,
Column(
children: <Widget>[
child: Image.network( myavatar),
child: IconButton(
icon: Icon(Icons.share),
onPressed: () async {
await screenshotController.capture().then((image) async {
SocialShare.shareOptions("http://myurl", imagePath: image.path);
}
);
},
),
],
),
),
}
那么这个额外的小部件在哪里与我的应用程序中的其他小部件共享相同的全局密钥?我应该从哪里开始进行故障排除?
原来我必须将屏幕截图控制器制作在本地并将其放在这里;
Widget createViewItem() {
ScreenshotController _screenshotController = ScreenshotController();
return Screenshot(
controller: screenshotController,
Column(
children: <Widget>[
child: Image.network( myavatar),
child: IconButton(
icon: Icon(Icons.share),
onPressed: () async {
await screenshotController.capture().then((image) async {
SocialShare.shareOptions("http://myurl", imagePath: image.path);
}
);
},
),
],
),
),
}