HashMap get(Key) 函数在 Android AsyncTask 中不起作用



我正在尝试从作为参数传递给AsyncTaskHashMap中获取一个值。 get(Key)方法无法解析;我的集成开发环境状态

"无法解析方法'get(java.lang.String)'"。

这是有问题的代码:

public class AmayalockAsyncTask extends AsyncTask<HashMap<String, String>, Void, String> {
    protected String doInBackground(HashMap... params) {
        String ACTION = params.get("action");
        return " ";
     }
}

很难弄清楚我错过了什么。 它的行为就像"参数"是一个字符串。

实际上,

您首先需要从数组参数中检索 HashMap 对象,如下所示:

protected String doInBackground(HashMap... params) {
    HashMap mapYouNeed = params[0];
    String ACTION = mapYouNeed.get("action");
    return ACTION;
}

首先检索映射的原因是因为 AsyncTask 的输入是一个数组。如果您只传入了一个 HashMap,则需要检索索引 0 处的元素。哈希图...paramas 表示 params 是 HashMap 元素的数组。

最新更新