flutter_inappwebview: _webViewController has not been initialized

105 views Asked by At

Please why when I click the refresh button I will be getting _webViewController has not been initialized. On console.

My code


import 'package:flutter/material.dart';

import 'package:flutter_inappwebview/flutter_inappwebview.dart';

void main() {
  

WidgetsFlutterBinding.ensureInitialized();

  runApp(MyApp());

}

class MyApp extends StatelessWidget {

  @override

  Widget build(BuildContext context) {

    return MaterialApp(

      home: MyHomePage(),

    );

  }

}

class MyHomePage extends StatefulWidget {

  @override

  _MyHomePageState createState() => _MyHomePageState();

}

class _MyHomePageState extends State<MyHomePage> {

  late InAppWebViewController _webViewController;

  late InAppWebView _webView;

  bool _webViewVisible = false;

  @override

  void initState() {

    super.initState();

    _webView = _buildWebView();

  }

  InAppWebView _buildWebView() {

    return InAppWebView(

      initialUrlRequest: URLRequest(url: Uri.parse("https://example.com")),

      onWebViewCreated: (controller) {

        print("WebView created");

        _webViewController = controller;

      },

    );

  }

  void updateWebView() {

_webViewController.loadUrl(urlRequest: URLRequest(url: Uri.parse("https://example.com/new-url")));

      setState(() {

        _webViewVisible = true;

      });

  }

  @override

  Widget build(BuildContext context) {

    print("Building widget tree");

    return Scaffold(

      appBar: AppBar(

        title: Text('InAppWebView Example'),

      ),

      body: _webViewVisible ? _webView : Container(), // Conditionally show the InAppWebView

      floatingActionButton: FloatingActionButton(

        onPressed: () {

          // Trigger the updateWebView method

          updateWebView();

        },

        child: Icon(Icons.refresh),

      ),

    );

  }

}

Please help me check my mistake, I'm new to flutter

.........................................................................................................................................................................................

0

There are 0 answers