flutter - Flutter:访问另一个类/文件中的函数

原文 标签 flutter dart

在以下设置中,我将如何允许fileb.dart访问reset中的函数filea.dart:
filea.dart:

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Test',
      theme: ThemeData(
        primaryColor: Colors.pink[200],
      ),
      home: MyHomePage(title: ''),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);
  final String title;

  @override
  MyHomePageState createState() => MyHomePageState();
}

class MyHomePageState extends State<MyHomePage>
{


  int testCount = 0;

  void test() {
    setState(() {
      testCount++;
    });
  }

fileb.dart
import 'package:flutter/material.dart';
import './filea.dart';

class Buttons extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Column(
      children: <Widget>[
        Padding(
          padding: const EdgeInsets.only(bottom: 11.0, top: 20),
          child: Row(
            mainAxisAlignment: MainAxisAlignment.spaceAround,
            children: <Widget>[
              FloatingActionButton(
                heroTag: "btn1",
                onPressed: () => MyHomePageState.test(),
                child: const Icon(Icons.cancel),
                splashColor: Colors.pink[900],
                backgroundColor: Colors.pink[200],
              ),
              ),
            ],
          ),
        ),
      ],
    );
  }
}


要进行这项工作,我需要更改什么?

最佳答案

除非它是static,否则不能在另一个类中调用该函数,并且该函数不应处理non-static / local的任何变量,否则它将通过错误进行处理。

调用函数的另一种方法是将其作为参数传递给页面。

关于flutter - Flutter:访问另一个类/文件中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61959576/

相关文章:

dart - 创建新的 StatefulWidget 时并不总是调用 createState 方法

flutter - Flutter:admob构建成功,但随后崩溃

dart - Polymer.dart:对子组件使用强类型会引发异常,var工作

firebase - 如何在有状态的小部件中使用键?

flutter - 此函数的返回类型为 'Widget',但不以return语句结尾

android - 提取Json后无法刷新ListView

android - Navigator.push()永远循环

firebase - 通过flutter在Firestore中添加嵌套数据

dart - 在Dart中检测动态类型

flutter - 如何创建超出 GridView 图像的墨水飞溅?