方法 'SurfaceAndroidWebView' 没有为 class '_WebViewExampleState' 定义
The method 'SurfaceAndroidWebView' isn't defined for the class '_WebViewExampleState'
我尝试 运行 我从 https://pub.flutter-io.cn/packages/webview_flutter/example 得到的一个例子,在 flutter 中使用 webview。但是我有这种错误:
lib/main.dart:43:48: Error: The method 'SurfaceAndroidWebView' isn't defined for the class '_WebViewExampleState'. - '_WebViewExampleState' is from 'package:webview_test/main.dart' ('lib/main.dart').
Try correcting the name to the name of an existing method, or defining a method named 'SurfaceAndroidWebView'.
if (Platform.isAndroid) WebView.platform = SurfaceAndroidWebView();
^^^^^^^^^^^^^^^^^^^^^
而我的代码在 SurfaceAndroidWebView 中出现错误:
这是我的 pubspec.yaml:
name: webview_test
description: A new Flutter application.
publish_to: 'none'
version: 1.0.0+1
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
webview_flutter:
cupertino_icons: ^0.1.3
dev_dependencies:
flutter_test:
sdk: flutter
flutter:
uses-material-design: true
assets:
- assets/sample_audio.ogg
提前致谢!
您需要导入 SurfaceAndroidWebView
页面。
import './SurfaceAndroidWebView.dart';
经过几个小时的变通,终于得到了答案。我必须将我的 flutter 升级到最新版本。然后升级我的pubspec.yaml.
太棒了!我遇到了同样的问题并想通了。我的 pubspec.yaml 中定义了旧版本的 webview_flutter。所以,当我尝试做一个 flutter pub get 时,我认为它没有得到最新版本的 webview。
在 pubspec.yaml 我有这个(旧版本):
webview_flutter: ^0.3.22+1
我改成了这个(截至 post 的最新版本):
webview_flutter: ^1.0.7
然后我去控制台运行:flutter pub get
现在我的应用可以识别 SurfaceAndroidWebView!
我是这方面的新手,所以也许其他人已经尝试过,但也许其他人不知道。
Android minSdkVersion 应该是 19:
将以下内容添加到 /android/app/build.gradle:
android {
defaultConfig {
// Required by the Flutter WebView plugin.
minSdkVersion 19
}
}
我尝试 运行 我从 https://pub.flutter-io.cn/packages/webview_flutter/example 得到的一个例子,在 flutter 中使用 webview。但是我有这种错误:
lib/main.dart:43:48: Error: The method 'SurfaceAndroidWebView' isn't defined for the class '_WebViewExampleState'. - '_WebViewExampleState' is from 'package:webview_test/main.dart' ('lib/main.dart'). Try correcting the name to the name of an existing method, or defining a method named 'SurfaceAndroidWebView'. if (Platform.isAndroid) WebView.platform = SurfaceAndroidWebView(); ^^^^^^^^^^^^^^^^^^^^^
而我的代码在 SurfaceAndroidWebView 中出现错误:
这是我的 pubspec.yaml:
name: webview_test
description: A new Flutter application.
publish_to: 'none'
version: 1.0.0+1
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
webview_flutter:
cupertino_icons: ^0.1.3
dev_dependencies:
flutter_test:
sdk: flutter
flutter:
uses-material-design: true
assets:
- assets/sample_audio.ogg
提前致谢!
您需要导入 SurfaceAndroidWebView
页面。
import './SurfaceAndroidWebView.dart';
经过几个小时的变通,终于得到了答案。我必须将我的 flutter 升级到最新版本。然后升级我的pubspec.yaml.
太棒了!我遇到了同样的问题并想通了。我的 pubspec.yaml 中定义了旧版本的 webview_flutter。所以,当我尝试做一个 flutter pub get 时,我认为它没有得到最新版本的 webview。
在 pubspec.yaml 我有这个(旧版本): webview_flutter: ^0.3.22+1
我改成了这个(截至 post 的最新版本): webview_flutter: ^1.0.7
然后我去控制台运行:flutter pub get
现在我的应用可以识别 SurfaceAndroidWebView!
我是这方面的新手,所以也许其他人已经尝试过,但也许其他人不知道。
Android minSdkVersion 应该是 19:
将以下内容添加到 /android/app/build.gradle:
android {
defaultConfig {
// Required by the Flutter WebView plugin.
minSdkVersion 19
}
}