3

我尝试运行从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”的方法。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

提前致谢!

4

4 回答 4

3

甜的!我有同样的问题并想通了。我在 pubspec.yaml 中定义了旧版本的 webview_flutter。所以,当我尝试做一个颤振的 pub get 时,它没有得到我认为的最新版本的 webview。

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

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

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

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

在这方面我是新手,所以也许其他人已经尝试过,但也许其他人不知道。

于 2020-11-15T14:23:47.157 回答
1

您需要导入 SurfaceAndroidWebView页面。


import './SurfaceAndroidWebView.dart';

于 2020-10-16T08:49:35.430 回答
1

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

于 2020-10-16T08:54:29.023 回答
1

Android minSdkVersion 应该是 19:

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

android {
    defaultConfig {
        // Required by the Flutter WebView plugin.
        minSdkVersion 19
    }
  }
于 2020-11-25T08:12:31.287 回答