2
votes

La méthode 'SurfaceAndroidWebView' n'est pas définie pour la classe '_WebViewExampleState'

J'ai essayé d'exécuter un exemple que j'ai obtenu de https://pub.flutter-io.cn/packages/webview_flutter/example pour utiliser la vue Web dans Flutter. Mais j'ai ce genre d'erreur:

lib / main.dart: 43: 48: Erreur: La méthode «SurfaceAndroidWebView» n'est pas définie pour la classe «_WebViewExampleState». - '_WebViewExampleState' provient du 'package: webview_test / main.dart' ('lib / main.dart'). Essayez de corriger le nom par le nom d'une méthode existante ou de définir une méthode nommée «SurfaceAndroidWebView». if (Platform.isAndroid) WebView.platform = SurfaceAndroidWebView (); ^^^^^^^^^^^^^^^^^^^^^^

Et mon code avait une erreur dans SurfaceAndroidWebView: entrez la description de l'image ici

Voici mon 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

Merci d'avance!


1 commentaires

stackoverflow.com/a/64385852/10659482 Si vous l'avez fait, veuillez partager la page totale.


4 Réponses :


1
votes

Vous devez importer la page SurfaceAndroidWebView .

import './SurfaceAndroidWebView.dart';


1 commentaires

Ça n'a pas marché. "La cible de l'URI n'existe pas: './SurfaceAndroidWebView.dart'."



1
votes

Après plusieurs heures de contournement, j'ai finalement eu la réponse. Je dois mettre à jour mon flutter vers le dernier. Et puis mettez à jour mon pubspec.yaml.


1 commentaires

Cela n'a pas fonctionné pour moi. Avez-vous fait autre chose? Êtes-vous sur Stable ou beta?



0
votes

Sucré! J'ai eu les mêmes problèmes et je l'ai compris. J'avais une ancienne version de webview_flutter définie dans mon pubspec.yaml. Donc, quand j'ai essayé de faire un pub flutter, je pense que je ne recevais pas la dernière version de webview.

Dans pubspec.yaml j'avais ceci (ancienne version): webview_flutter: ^ 0.3.22 + 1

J'ai changé pour ceci (version la plus récente à partir de ce post): webview_flutter: ^ 1.0.7

Puis je suis allé sur console pour courir: flutter pub get

Et maintenant, mon application reconnaît SurfaceAndroidWebView!

Je suis un débutant dans ce domaine, alors peut-être que d'autres l'ont déjà essayé, mais peut-être que d'autres ne le savaient pas.


0 commentaires

0
votes

Android minSdkVersion doit être 19:

ajoutez ce qui suit à /android/app/build.gradle :

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


0 commentaires