Flutter 颤振传递变量至浮动动作按钮

Flutter 颤振传递变量至浮动动作按钮,flutter,dart,parameter-passing,Flutter,Dart,Parameter Passing,我有一个应用程序,我有一个蓝牙连接到色度计 我有一个按钮来进行测量,但不知何故,我无法将特定变量输入onPressed函数。变量通过回调传递到主页面(我有多个选项卡),然后我想通过onPressed函数访问变量 我不需要修改它。我觉得这应该很简单,但不知怎的,我真的不知道怎么做 这是我的main.dart,希望包含所有必要的信息(我所说的变量是BluetoothConnection myConnection变量) 导入“包装:颤振/材料.省道”; 导入“Results.dart”; 输入“测量.

我有一个应用程序,我有一个蓝牙连接到色度计

我有一个按钮来进行测量,但不知何故,我无法将特定变量输入onPressed函数。变量通过回调传递到主页面(我有多个选项卡),然后我想通过onPressed函数访问变量

我不需要修改它。我觉得这应该很简单,但不知怎的,我真的不知道怎么做

这是我的main.dart,希望包含所有必要的信息(我所说的变量是
BluetoothConnection myConnection
变量)

导入“包装:颤振/材料.省道”;
导入“Results.dart”;
输入“测量.省道”;
进口“标准.省道”;
导入“Preferences.dart”;
导入“package:flatter_bluetooth_serial/flatter_bluetooth_serial.dart”;
班长{
静态ResultHeader ResultHeader;
静态标准头标准头;
头容器();
静态void updateHeader(){
resultHeader=resultHeader();
standardHeader=standardHeader();
}
}
void main(){
WidgetsFlutterBinding.ensureInitialized();
HeaderContainer.updateHeader();
runApp(
材料聚丙烯(
主页:MyTabs(),
),
);
}
类MyTabs扩展StatefulWidget{
@凌驾
_MyTabsState createState()=>\u MyTabstate();
}
类_MyTabsState使用SingleTickerProviderStateMixin扩展状态{
tab控制器;
蓝牙连接;
@凌驾
void initState(){
super.initState();
控制器=选项卡控制器(
vsync:这个,,
长度:4,
);
}
@凌驾
无效处置(){
controller.dispose();
super.dispose();
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:文本(“颜色套件”),
背景颜色:颜色。琥珀色[800],
底部:选项卡栏(
选项卡:[
标签(
子项:文本('Messung'),
),
标签(
child:Text('Verlauf'),
),
标签(
子项:文本(“标准”),
),
标签(
子项:文本('Einstellungen'),
),
],
控制器:控制器,
isScrollable:是的,
),
),
正文:新选项卡视图(
控制器:控制器,
儿童:[
Meas(),
结果列表(),
StandardList(),
Prefs(父操作:(蓝牙连接){
设置状态(){
myConnection=连接;
});
}),
],
),
浮动操作按钮:浮动操作按钮(
已按下:(){
if(connection!=null&&connection.isConnected){
//继续
}
否则{
//做点别的
}
},
子:图标(Icons.add),
背景颜色:颜色。琥珀色[800],
),
);
}
}

我认为您应该使用myConnection而不是connection

floatingActionButton: FloatingActionButton(

    onPressed: () {

      if(myConnection!= null && myConnection.isConnected){
        //proceed further
      }
      else{
        //do something else
      }
    },
    child: Icon(Icons.add),
    backgroundColor: Colors.amber[800],
  ),
);

你应该在FloatingActionButton中使用myConnection。哦,是的。我告诉过你,这可能非常简单,但我太笨了,我从来没有想过。不用担心,有时候会发生。是的,连接只是我要使用的一个占位符。如果引起混乱,很抱歉。
floatingActionButton: FloatingActionButton(

    onPressed: () {

      if(myConnection!= null && myConnection.isConnected){
        //proceed further
      }
      else{
        //do something else
      }
    },
    child: Icon(Icons.add),
    backgroundColor: Colors.amber[800],
  ),
);