首页 > 解决方案 > 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 调用它

标签: android

解决方案


这是因为,HashMap不能有两次相同的键。因为它通过键值对工作。您需要为两个条目使用单独的键才能使其工作。


推荐阅读