如何遍历MethodCall对象以获取参数

时间:2019-04-11 17:12:38

标签: java android flutter

我有一些特定的android代码,并在android中使用参数调用了一些命令。

这是我现在使用的android代码,用于检查特定的参数名称,如果存在,则获取它:

@Override public void onMethodCall(MethodCall call, MethodChannel.Result result) {
    if (call.method.equals("[METHOD_NAME]")) {
        if (call.hasArgument("[ARGUMENT_NAME]")) {
            final String paramVal = call.argument("[ARGUMENT_NAME]");
        }
    }
}

我想知道如何遍历对象以获取所有参数。

1 个答案:

答案 0 :(得分:1)

是的,您可以对其进行迭代。这就是您将要做的。

List<Map<String, String>> list = call.arguments();
Log.i("MyTag", "value 1 = " + list.get(0).get("key1")); // prints Apple
Log.i("MyTag", "value 2 = " + list.get(1).get("key2")); // prints Ball

在dart中,可以说这是我的实现。

MethodChannel("my_method_channel").invokeMethod("METHOD_NAME", [
  {"key1": "Apple"},
  {"key2": "Ball"},
]);