首页 > 解决方案 > 供 Java 处理的 Flutter 参数

问题描述

有没有办法用参数创建颤振方法并将这个参数传递给Java?我有这样的代码:

颤振中的代码:

  String returnName(String dbName) {
    final String result = platform.invokeMethod("test");
    return result;
  }

但是结果变量存在问题。它说A value of type 'Future<dynamic>' can't be assigned to a variable of type 'String'。有人有提示我如何解决这个问题吗?谢谢!

标签: javaflutterdart

解决方案


因为platform.invokeMethod("test")是未来,这意味着它需要时间来检索数据。所以你必须使用 async/await

Future<String> returnName(String dbName) async {
  return = await platform.invokeMethod("test");
}

并称之为..

...
FutureBuilder(
  future: returnName(),
  builder: (context, snapshot) {
    if (snapshot.connectionState == ConnectionState.waiting)
      return CircularProgressIndicator();
    return Text(snapshot.data);
  },
);

推荐阅读