Flutter中如何从另一个类访问一个类的变量

wie*_*rdo 7 class widget dart flutter

我有一个包含按钮的有状态小部件。我将用户点击的次数保存在一个名为“counter”的 int 变量中。

我有另一个小部件,它是我的主屏幕。我在那个屏幕上有一个文本。我需要动态显示此文本的点击次数。因此,当用户点击第一类上的按钮时,我在第二类上的文本必须更新。

将计数器变量从第一个小部件传递到第二个小部件的最佳方法是什么?

添加了一些代码

我的两个类都是有状态的小部件。所以,我像这样声明了 static int counter ;

class AppListView extends StatefulWidget {
  static int counter;

  @override
  _AppListViewState createState() => _AppListViewState();
}
Run Code Online (Sandbox Code Playgroud)

现在我可以从其他班级到达柜台,但无法从自己的班级到达柜台。我的意思是我需要增加那部分的计数器,但它说未定义。

class _AppListViewState extends State<AppListView> {
@override
  Widget build(BuildContext context) {
    return FlatButton(
           onPressed: (){
              counter++ (can't reach counter here)
      }
Run Code Online (Sandbox Code Playgroud)

小智 3

您可能想要创建您想要的变量static

class Something {
   static int counter; 
}
Run Code Online (Sandbox Code Playgroud)

然后您可以在其他小部件中使用该变量,如下所示:

class StatefulWidget{
   FlatButton(
    onPressed: (){
      Something.counter++; // This variable is your counter you mentioned earlier
   }
);
}

Run Code Online (Sandbox Code Playgroud)