Flutter,如何访问State <>对象

时间:2019-07-24 19:05:32

标签: flutter dart

我有一个指向StatefulWidget的指针,我需要读取相应的State对象中的值:

Aa p = Aa(); 打印(p.count);

我该怎么做?

```
import 'package:flutter/widgets.dart';

class Aa extends StatefulWidget {
  @override
  _AaState createState() => _AaState();
}

class _AaState extends State<Aa> {
  int count;
  @override
  Widget build(BuildContext context) {
    return null;
  }
}

Thanks

4 个答案:

答案 0 :(得分:0)

您的问题尚不清楚,但是我认为您真正想要的是将变量的值传递给另一个要从此“读取”的小部件。

答案 1 :(得分:0)

使用GlobalKey。您无法直接从窗​​口小部件访问状态,因为同一个窗口小部件可能会关联多个状态。

答案 2 :(得分:0)

仅出于简单原因,对StatefulWidget的引用不足以获得其关联状态:

一个StatefulWidget可以与多个状态相关联。

所以您要问的是简单不可能的。

另一方面,您可以使用GlobalKey或BuildContext获取状态。

答案 3 :(得分:-1)

尝试存储小部件的状态,然后访问

class MySFWidget extends StatefulWidget {
  SFWidgetState currState;

  @override
  SFWidgetState createState(){
    currState = new SFWidgetState();
    return currState;
  };

}

class SFWidgetState extends State<MySFWidget> {

  int count;
  @override
  Widget build(BuildContext context) {
    return null;
  }
}

然后,通过以下方式访问其属性:

myWidgetInstance.currState.count