android - Android中的AsyncTask面临问题
问题描述
我面临以下问题。
String[] pkg_id = new String[]{package_id};
Log.d("pkg_id","=>"+Arrays.toString(pkg_id));
HashMap<String,String> data_pkg_act = new HashMap<>();
for(int k=0;k<pk_id.length;k++)
{
Log.d("pkg_id","==>"+package_id);
//Here am getting pkg_id==>1 and pkg_id==> 2
try {
data_pkg_act.put("package_id", package_id);
new GetPackageDetails(data_pkg_act).execute().get();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
HashMap 用第二个值覆盖第一个值,我想根据 package_id 进行两次调用。AsyncTask 调用了两次,但包 id 为 2 我无法为包 id 1 调用它
解决方案
这是因为,HashMap不能有两次相同的键。因为它通过键值对工作。您需要为两个条目使用单独的键才能使其工作。
推荐阅读
- python - Django中的作业调度
- python - 当 DynamoDB 中不存在项目时,如何使用 Python (boto3) 强制 delete_item 返回错误?
- reactjs - React - 如何显示/隐藏组件,以便即使未渲染组件也能保持状态
- c++ - 对于这个 Codeforces 问题,有没有比仅仅使用蛮力更好的解决算法?
- c# - 使用 ASP.NET 身份在 ASP.NET MVC 5 应用程序中进行身份验证
- r - 从 LASSO 输出创建 model.matrix()
- amazon-web-services - 如何将我的结构放入 Rust 中 AWS Kinesis 的 PutRecordInput?
- python - 尝试将字典传递给熊猫数据框时,如何解决: ValueError: If using all scalar values, you must pass an index
- python - 如何在 NLTK 中为二元语言模型在单词级别执行 Kneser-Ney 平滑?
- haskell - Haskell HUnit 功能测试