没有为类“ _WebViewExampleState”定义方法“ SurfaceAndroidWebView”

时间:2020-10-16 08:10:44

标签: flutter flutterwebviewplugin

我试图运行一个从https://pub.flutter-io.cn/packages/webview_flutter/example获得的示例,以便在Flutter中使用Webview。但是我有这种错误:

lib / main.dart:43:48:错误:未为类“ _WebViewExampleState”定义方法“ SurfaceAndroidWebView”。 -'_WebViewExampleState'来自'package:webview_test / main.dart'('lib / main.dart')。 尝试将名称更正为现有方法的名称,或定义一个名为“ SurfaceAndroidWebView”的方法。 如果(Platform.isAndroid)WebView.platform = SurfaceAndroidWebView(); ^^^^^^^^^^^^^^^^^^^^^^

我的代码在SurfaceAndroidWebView中有一个错误: enter image description here

这是我的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

谢谢!

4 个答案:

答案 0 :(得分:1)

您需要导入 SurfaceAndroidWebView页面。


import './SurfaceAndroidWebView.dart';

答案 1 :(得分:1)

经过数小时的解决方法后,终于得到了答案。我必须将颤振升级到最新版本。然后升级我的pubspec.yaml。

答案 2 :(得分:1)

甜!我遇到了同样的问题,并弄清楚了。我在pubspec.yaml中定义了较旧的webview_flutter版本。因此,当我尝试获取flutter pub时,并没有获得我认为的最新版本的webview。

在pubspec.yaml中,我有这个(旧版本): webview_flutter:^ 0.3.22 + 1

我改成了这个(这篇文章的最新版本): webview_flutter:^ 1.0.7

然后我去控制台运行:flutter pub get

现在我的应用可以识别SurfaceAndroidWebView了!

我是新手,所以也许其他人已经尝试过了,但是其他人却不知道。

答案 3 :(得分:1)

Android minSdkVersion应该为19:

将以下内容添加到 /android/app/build.gradle

android {
    defaultConfig {
        // Required by the Flutter WebView plugin.
        minSdkVersion 19
    }
  }