我正在尝试从作为参数传递给 AsyncTask
的 HashMap
中获取值。 get(Key)
方法没有解析;我的 IDE 状态
"Cannot resolve method '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 " ";
}
}
我无法弄清楚我遗漏了什么。它就像“params”是一个字符串。
最佳答案
实际上,您首先需要从数组参数中检索 HashMap 对象,如下所示:
protected String doInBackground(HashMap... params) {
HashMap mapYouNeed = params[0];
String ACTION = mapYouNeed.get("action");
return ACTION;
}
首先检索 map 的原因是因为 AsyncTask 的输入是一个数组。如果只传入一个 HashMap,那么需要获取索引为 0 的元素。HashMap...paramas 表示 params 是一个 HashMap 元素数组。
关于java - HashMap get(Key) 函数在 Android AsyncTask 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29725333/