Comment utiliser les Fonctions d'un autre Fichier dans Dart / Flutter?

J'ai un Flottement application, où je suis en utilisant le flutter_web_view paquet. Je l'utilise sur plusieurs fichiers différents et aimerais créer son propre fichier et il suffit de faire référence à la _launchwebview fonction de n'importe où dans mon application, car il y a plusieurs lignes de code nécessaires pour le faire fonctionner. Je sais comment les fichiers de référence et de transmettre des informations, mais pas des méthodes/fonctions. Voici le code de la classe...

import 'package:flutter/material.dart';
import 'package:flutter_web_view/flutter_web_view.dart';
class ShopClass extends StatefulWidget {
@override
ShopClassState createState() => new ShopClassState();
}
class ShopClassState extends State<ShopClass> {
String _redirectedToUrl;
FlutterWebView flutterWebView = new FlutterWebView();
bool _isLoading = false;
@override
initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
Widget leading;
if (_isLoading) {
leading = new CircularProgressIndicator();
}
var columnItems = <Widget>[
new MaterialButton(
onPressed: launchWebViewExample, child: new Text("Launch"))
];
if (_redirectedToUrl != null) {
columnItems.add(new Text("Redirected to $_redirectedToUrl"));
}
var app = new MaterialApp(
home: new Scaffold(
appBar: new AppBar(
leading: leading,
),
body: new Column(
children: columnItems,
),
),
);
return app;
}
void launchWebViewExample() {
if (flutterWebView.isLaunched) {
return;
}
flutterWebView.launch("https://apptreesoftware.com",
headers: {
"X-SOME-HEADER": "MyCustomHeader",
},
javaScriptEnabled: false,
toolbarActions: [
new ToolbarAction("Dismiss", 1),
new ToolbarAction("Reload", 2)
],
barColor: Colors.green,
tintColor: Colors.white);
flutterWebView.onToolbarAction.listen((identifier) {
switch (identifier) {
case 1:
flutterWebView.dismiss();
break;
case 2:
reload();
break;
}
});
flutterWebView.listenForRedirect("mobile://test.com", true);
flutterWebView.onWebViewDidStartLoading.listen((url) {
setState(() => _isLoading = true);
});
flutterWebView.onWebViewDidLoad.listen((url) {
setState(() => _isLoading = false);
});
flutterWebView.onRedirect.listen((url) {
flutterWebView.dismiss();
setState(() => _redirectedToUrl = url);
});
}
void reload() {
flutterWebView.load(
"https://google.com",
headers: {
"X-SOME-HEADER": "MyCustomHeader",
},
);
}
}

Comment puis-je utiliser launchWebViewExample dans une autre classe?

  • Pouvez-vous s'il vous plaît partager un peu de code. On ne sait pas quel est le problème. Importer le fichier avec la fonction doit faire. Si vous souhaitez passer la fonction autour de il n'est pas vraiment une différence de champs ou d'autres variables.
  • Est-ce cela que vous cherchez? stackoverflow.com/questions/12951989/...
  • J'ai ajouté le code dans le fichier que j'ai créé. J'aimerais l'utiliser pour le lancement de la WebView dans un autre fichier sans l'ajout de toutes ces lignes de chaque fichier.
InformationsquelleAutor Charles Jr | 2018-02-17