首页 > 解决方案 > Flutter 将整数值从一页发送到另一页

问题描述

我正在开发基于位置的应用程序,在设置页面中,我有一个选项允许用户使用滑块包更改其位置半径。这样当滑块移动时,或多或少的内容会显示在主屏幕中。

我尝试使用 setstate 发送数据,但它似乎不适用于整数值

我遇到以下问题

1.当滑块移动时,更改不会反映在主页上,我知道这一点,因为我在主屏幕中插入了一个文本小部件来显示滑块值。

2.在滑块所在的设置页面上,每当我滑动它时,它都会更新,但是当我导航到另一个屏幕然后返回设置屏幕时,滑块会重置为最小值。我该如何解决以上问题?

这是我在设置页面上的滑块代码

Slider(
            value: radius,
            onChanged: (newRadius) async{
              setState(() {
                tasks = newRadius.toDouble();
                String step2 = radius.toStringAsFixed(2);
                twodecimalradius = double.parse(step2); //converting the slider value to 2 decimal places

              });
              print(twodecimalradius);
              await Home(twodecimalradius:twodecimalradius); //passing the slider value to homepage
              await Home.staticGlobalKey.currentState.getposts();//a function in the homepage that gets called whenever the slider value is changed
            },

            min: 10.0,
            max: 500.0,
            //activeColor: Colors.red[400],
          )

在我的主页中,这是应该在文本小部件中显示滑块值的代码

class Home extends StatefulWidget {

  
  var twodecimalradius;

  static final GlobalKey<_HomeState> staticGlobalKey =
  new GlobalKey<_HomeState>();

  Home({
    
    this.twodecimalradius,

  }): super(key: Home.staticGlobalKey);


Widget build(BuildContext context) {
return Scaffold(body:Text(widget.twodecimalradius))
}

标签: flutterdart

解决方案


推荐阅读