颤动无法访问静态变量

flutter can't access static variable

我想在 flutter 中访问有状态小部件中的静态变量。 但它不起作用。 有人说这是私人小部件,我无法访问它。 那么如何在下面的代码中访问变量 isCollapsed

class BottomNavBar extends StatefulWidget {
  final int activeTabIndex;

  const BottomNavBar({Key? key, required this.activeTabIndex})
      : super(key: key);

  @override
  _BottomNavBarState createState() => _BottomNavBarState();
}

class _BottomNavBarState extends State<BottomNavBar> {
    static var isCollapsed = false;
 @override
  Widget build(BuildContext context) {
 Scaffold(
        body: SlidingUpPanel(
          controller: _pc,
          panelBuilder: (sc) {
            if (isCollapsed == false) _pc.hide();
            if (isCollapsed == true) _pc.show();
            return Container(
              child: Center(child: Text("Panel")),
            );
          },
          body: Text("something");
        ),  }
}

我想在另一个 class 中更改 isCollapsed, 单击图标时,isCollapsed 变为 true。

class _PlayerPreviewState extends State<PlayerPreview> {
  @override
  Widget build(BuildContext context) {
    final String play = 'assets/icons/play.svg';
    var pageWidth = MediaQuery.of(context).size.width;
    return  Padding(
        padding: EdgeInsets.only(top: pageWidth * .04),
        child: IconButton(
        onPressed: () {
                               
         },
          icon: SvgPicture.asset(play),
                            ),
                          );}}

谁能帮帮我,我该怎么做?

是的,_BottomNavBarState 是私有的,因为它以下划线开头_。如果你想让它成为 public,请从名称中删除 _,它会像


  @override
  BottomNavBarState createState() => BottomNavBarState();
}

class BottomNavBarState extends State<BottomNavBar> {
  static var isCollapsed = false;
  

并在任何地方使用 BottomNavBarState.isCollapsed,但我更喜欢 state-management,而变量对状态有影响。

有关

的更多信息