initStateをインポートできません

タバレク・ガッサン

Stateクラス内にinitStateをインポートするたびに、このエラーが表示されます

クラス「IntroViewState」はメソッド「State」を定義できず、同じ名前のフィールド「initState.State」を持つことができません。

これは私がinitStateを呼び出すために使用したコードです

import 'package:flutter/material.dart';
import 'package:idb/pages/adminpage.dart';
import 'package:idb/pages/homepage.dart';
import 'package:intro_views_flutter/Models/page_view_model.dart';
import 'package:intro_views_flutter/intro_views_flutter.dart';
import 'package:shared_preferences/shared_preferences.dart';

class IntroView extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    return IntroViewState();
  }
}

class IntroViewState extends State<IntroView> {
  BuildContext context;

  Future checkFirstSeen() async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    bool _seen = (prefs.getBool('seen') ?? true);

    setState(() {
      if (_seen) {
        Navigator.of(context).pushReplacement(
            new MaterialPageRoute(builder: (context) => new AdminPage()));
      } else {
        prefs.setBool('seen', true);

        Navigator.of(context).pushReplacement(
            new MaterialPageRoute(builder: (context) => new IntroView()));
      }
    });
  }

  final pages = [
    PageViewModel(
        pageColor: Colors.white,
        bubble: Image.asset('assets/t.jpg'),
        body: Text('with the app you can check the card validation'),
        title: Text('Card Validation'),
        textStyle: TextStyle(
          color: Colors.tealAccent,
        ),
        mainImage: Image.asset(
          'assets/check.jpg',
          height: 500.0,
          width: 500.0,
          alignment: Alignment.center,
        )),

  ];

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        primaryColor: Colors.orange,
        primarySwatch: Colors.orange,
        accentColor: Colors.orangeAccent,
      ),
      debugShowCheckedModeBanner: false,
      home: Builder(
        builder: (context) => IntroViewsFlutter(
              pages,
              onTapDoneButton: () {
                Navigator.pushReplacement(
                  context,
                  MaterialPageRoute(
                      builder: (BuildContext context) => AdminPage()),
                );
              },
              onTapSkipButton: () {
                Navigator.pushReplacement(
                  context,
                  MaterialPageRoute(
                      builder: (BuildContext context) => AdminPage()),
                );
              },
              pageButtonTextStyles:
                  TextStyle(color: Colors.black, fontSize: 18.0),
            ),
      ),
    );
  }

  @override
  void initState {
    super.initState;
    checkFirstSeen();
  }
}

どうして?どうすれば解決できますか?そして他のエラーが表示されます

NoSuchMethodError:メソッド 'ancestorStateOfType'がnullで呼び出されました。E / flutter(28147):レシーバー:null E / flutter(28147):呼び出しを試みました:ancestorStateOfType( 'TypeMatcher'のインスタンス)E / flutter(28147):#0
Object.noSuchMethod(dart:core / runtime / libobject_patch.dart :50:5)E / flutter(28147):#1 Navigator.of(package:flutter / src / widgets / navigator.dart:1288:19)E / flutter(28147):#2IntroViewState.checkFirstSeen。(package:idb / pages / introview.dart:31:15)

カナファニサミ

削除context、私はそれがヌルの問題を引き起こしていると思います

class IntroViewState extends State<IntroView> {


  Future checkFirstSeen() async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    bool _seen = (prefs.getBool('seen') ?? true);


      if (_seen) {
        Navigator.of(context).pushReplacement(
            new MaterialPageRoute(builder: (context) => new AdminPage()));
      } else {
        prefs.setBool('seen', true);

        Navigator.of(context).pushReplacement(
            new MaterialPageRoute(builder: (context) => new IntroView()));
      }

  }

  final pages = [
    PageViewModel(
        pageColor: Colors.white,
        bubble: Image.asset('assets/t.jpg'),
        body: Text('with the app you can check the card validation'),
        title: Text('Card Validation'),
        textStyle: TextStyle(
          color: Colors.tealAccent,
        ),
        mainImage: Image.asset(
          'assets/check.jpg',
          height: 500.0,
          width: 500.0,
          alignment: Alignment.center,
        )),

  ];

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        primaryColor: Colors.orange,
        primarySwatch: Colors.orange,
        accentColor: Colors.orangeAccent,
      ),
      debugShowCheckedModeBanner: false,
      home: Builder(
        builder: (context) => IntroViewsFlutter(
              pages,
              onTapDoneButton: () {
                Navigator.pushReplacement(
                  context,
                  MaterialPageRoute(
                      builder: (BuildContext context) => AdminPage()),
                );
              },
              onTapSkipButton: () {
                Navigator.pushReplacement(
                  context,
                  MaterialPageRoute(
                      builder: (BuildContext context) => AdminPage()),
                );
              },
              pageButtonTextStyles:
                  TextStyle(color: Colors.black, fontSize: 18.0),
            ),
      ),
    );
  }

  @override
  void initState {
    super.initState();
    checkFirstSeen();
  }
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

FontAwesomeアイコンをインポートできません

分類Dev

PILイメージをインポートできません

分類Dev

Rでパンダをインポートできません

分類Dev

Express-ルートをインポートできません

分類Dev

Reactでコンポーネントをインポートできません

分類Dev

protoファイルをインポートできません

分類Dev

XLSXファイルをインポートできません

分類Dev

AWSLambdaにパンダをインポートできません

分類Dev

JupyterNotebookにパンダをインポートできません

分類Dev

Python - パンダをインポートできません

分類Dev

パンダをインポートできません

分類Dev

PyCharmでcv2をインポートできません

分類Dev

ScalaTestでSparkImplicitsをインポートできません

分類Dev

ScalaTestでSparkImplicitsをインポートできません

分類Dev

Pythonで名前GoogleMapsをインポートできません

分類Dev

Python3.4でDjangoをインポートできません

分類Dev

Macでpyodbcをインポートできません

分類Dev

Python3でquandlをインポートできません

分類Dev

chainer4.1.0でcupyをインポートできません

分類Dev

ndk androidでlibpng、libjpegをインポートできません

分類Dev

ipython(python 3.4.4)でscipyをインポートできません

分類Dev

IntellijでArrayUtilsをインポートできません

分類Dev

Springで `configureRepositoryRestConfiguration`をインポートできません

分類Dev

Python 3.5では、zenityをインポートできません

分類Dev

awslambdaでlxmletreeをインポートできません

分類Dev

CondaEnvでPyTorchをインポートできません

分類Dev

Python3.7でPyQtChartをインポートできません

分類Dev

反応でJSONをインポートできません

分類Dev

Python3.7でaerospikeをインポートできません

Related 関連記事

  1. 1

    FontAwesomeアイコンをインポートできません

  2. 2

    PILイメージをインポートできません

  3. 3

    Rでパンダをインポートできません

  4. 4

    Express-ルートをインポートできません

  5. 5

    Reactでコンポーネントをインポートできません

  6. 6

    protoファイルをインポートできません

  7. 7

    XLSXファイルをインポートできません

  8. 8

    AWSLambdaにパンダをインポートできません

  9. 9

    JupyterNotebookにパンダをインポートできません

  10. 10

    Python - パンダをインポートできません

  11. 11

    パンダをインポートできません

  12. 12

    PyCharmでcv2をインポートできません

  13. 13

    ScalaTestでSparkImplicitsをインポートできません

  14. 14

    ScalaTestでSparkImplicitsをインポートできません

  15. 15

    Pythonで名前GoogleMapsをインポートできません

  16. 16

    Python3.4でDjangoをインポートできません

  17. 17

    Macでpyodbcをインポートできません

  18. 18

    Python3でquandlをインポートできません

  19. 19

    chainer4.1.0でcupyをインポートできません

  20. 20

    ndk androidでlibpng、libjpegをインポートできません

  21. 21

    ipython(python 3.4.4)でscipyをインポートできません

  22. 22

    IntellijでArrayUtilsをインポートできません

  23. 23

    Springで `configureRepositoryRestConfiguration`をインポートできません

  24. 24

    Python 3.5では、zenityをインポートできません

  25. 25

    awslambdaでlxmletreeをインポートできません

  26. 26

    CondaEnvでPyTorchをインポートできません

  27. 27

    Python3.7でPyQtChartをインポートできません

  28. 28

    反応でJSONをインポートできません

  29. 29

    Python3.7でaerospikeをインポートできません

ホットタグ

アーカイブ