从静态方法获取颤振状态值

时间:2020-04-18 09:16:50

标签: flutter

我们如何从flutter中的静态方法获取状态值? ,我有一个叫做phone的状态,需要以某种静态方法使用这些状态值。

String phone = '';

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

void getPhoneString() async
{
    // basiclly just get the value from sharef pref
    setState(() {
        phone = 'myhpone-string';
    });
}

static Future<Void> Process() async {
   // get phone state value

}

2 个答案:

答案 0 :(得分:0)

据我了解,解决方案是,当您调用initState()页面时,“类状态”页面将存储到另一个静态值中,您的代码将是:

String phone = '';
static phone myPhoneState;
@override
void initState() {
    super.initState();
    getPhoneString();
    ***myPhoneState = this;***
} 

void getPhoneString() async
{
    // basiclly just get the value from sharef pref
    setState(() {
        phone = 'myhpone-string';
    });
}

static Future<Void> Process() async {
   // get phone state value

}

这样,您可以随时根据需要调用页面状态及其方法“按钮,对话框.....

答案 1 :(得分:-1)

如果要在静态方法中使用本地类变量,则有两个选择。

  1. 将变量设为静态。
  2. 将变量作为参数发送到方法。

不建议使用第一个选项。 对于第二个选项,您可以像这样更改静态方法:

static Future<Void> Process(String param) async {
   // use phone parameter

}