我如何解决此错误无法在初始化程序中访问实例“小部件”

比比

我正在尝试访问变量 String UserType 和 String userID 的值;在 _HomePageState 上,我想将 UserType 和 userID 变量的值传递给 ProfilePage() 和 UploadPage(),

我的错误的图像

    The problem displayed is "The instance member'widget' can't be accessed in an initializer. 
Try replacing the reference to the instance member with a different expression".

这是我的 StatefulWidget 类,我声明了 Usertype 和 userID 变量,我想将它们传递给 ProfilePage() 和 UploadPage(),在 _HomePageState 中,

class HomePage extends StatefulWidget {
      String UserType;
      String userID;
     HomePage({Key key,@required this.UserType,@required this.userID}):super(key: key);
      @override
      _HomePageState createState() => _HomePageState();
    }

class _HomePageState extends State<HomePage> {
  int _CurrentIndex=0;
  String owneruerID= widget.userID;
  dynamic uploadusertypes=widget.UserType;

final List<Widget>_children=[
        TimeLinePage(),
        SearchPage(), //search(),
        UploadPage(UserSID:owneruerID,uploadusertypes:uploadusertypes),
        NotificationsPage(),
        ProfilePage(userProfileID:widget.userID),
        ];

 @override
  void initState(){
  super.initState();
    uploadusertypes= widget.UserType;
    owneruerID= widget.userID; 
  }
  @override
  Widget build(BuildContext context) {
return Scaffold(
   body: WillPopScope(
     onWillPop: onwillpops,
     child: buildHomeScreen(),
   ),
 );
}

  Scaffold buildHomeScreen(){
        return Scaffold(
          backgroundColor: Colors.black,
          body: _children[_CurrentIndex],
          bottomNavigationBar: CupertinoTabBar(
            currentIndex: _CurrentIndex,
            backgroundColor: Colors.black,
            onTap: onTabchangePage,
            activeColor: Colors.green,
            inactiveColor: Colors.white,
            items: [
              BottomNavigationBarItem(icon:Icon(Icons.home),title: Text('home'),),
              BottomNavigationBarItem(icon:Icon(Icons.search)),
              BottomNavigationBarItem(icon:Icon(Icons.photo_camera,size: 40,)),
              BottomNavigationBarItem(icon:Icon(Icons.notifications)),
              BottomNavigationBarItem(icon:Icon(Icons.person_add_alt_1_sharp)),
            ],
          ),
        );
    }

 void onTabchangePage(int index) {
    setState(() {
      _CurrentIndex=  index;
    });

  }
}

我的错误代码的图像

i Correct the Bove but still the Error Exists

错误的图片

class HomePage extends StatefulWidget {
   String UserType;
   String userID;
  HomePage({Key key,@required this.UserType,@required this.userID}):super(key: key);
  @override
  _HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
  String owneruerID;
  dynamic uploadusertypes;

 final List<Widget>_children=[
        UploadPage(UserSID:owneruerID,uploadusertypes:uploadusertypes),
        ProfilePage(userProfileID:owneruerID),
        ];


  void initState(){
    super.initState();
    uploadusertypes= widget.UserType;
    owneruerID = widget.userID;
  }

}
法蒂玛有
String owneruerID;
dynamic uploadusertypes;
List<Widget>_children;

代替

String owneruerID= widget.userID;
  dynamic uploadusertypes=widget.UserType;

// remove and keep just final List<Widget>_children
    final List<Widget>_children=[
            TimeLinePage(),
            SearchPage(), //search(),
            UploadPage(UserSID:owneruerID,uploadusertypes:uploadusertypes),
            NotificationsPage(),
            ProfilePage(userProfileID:widget.userID),
            ];

在初始化状态

@override
  void initState(){
  super.initState();
    uploadusertypes= widget.UserType;
     owneruerID = widget.userID;

//add it here
      _children=[
        TimeLinePage(),
        SearchPage(), //search(),
        UploadPage(UserSID:owneruerID,uploadusertypes:uploadusertypes),
        NotificationsPage(),
        ProfilePage(userProfileID:widget.userID),
        ];

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

非法的char初始化程序-如何解决?

如何解决此错误消息“初始化错误(Eslint)。意外的标识符”?

如何解决“无法使用类型为(MKMapRect)的参数列表调用类型为'MKMapRect'的初始化程序”的问题,在Swift 5.0中出现错误

如何解决“无法初始化日志记录驱动程序”(ECS)

在小部件中初始化StateProvider

实例成员“ widget”无法在初始化程序中访问

使用无状态小部件创建简单的随机化器时出错。实例成员无法在初始化程序中访问

如何解决错误:无法初始化主类选择。ClustererExecution

实例成员'setState'无法在初始化程序中访问

实例“小部件”无法在初始化程序中访问

我该如何解决打字稿错误“ x”没有初始化程序并且在构造函数中未明确分配?

实例成员“ currentComponentConfiguration”无法在初始化程序中访问

如何解决无法初始化设备hci0。错误?

为什么我在初始化字母时遇到错误,该如何解决?

如何使用Kotlin在android中初始化小部件

如何在组件 VueJS 中初始化小部件?

如何解决未初始化的常量搜索::错误

我如何解决 TinyButStrong 中的“未初始化的字符串偏移:”错误

如何解决错误 C2440“正在初始化”:无法从“_Ty”转换为“_Objty”

我如何解决这个问题:在初始化之前无法访问“calculationEntry”?

错误“无法在初始化程序中访问实例成员 'widget'。”

无法在初始化程序中访问实例成员 ''

如何修复错误“无法在初始化程序中访问实例成员‘_remoteConfigService’。”

无法在初始化程序中访问实例成员“id”

尝试初始化数组列表时如何解决此错误?

无法在初始化程序中访问实例成员“地图”颤振中的错误

无法在初始化程序中访问实例成员“键”

无法在初始化程序中访问实例成员“小部件”。扑

无法通过 WatchList 实例访问管理器如何解决此错误?