Android中AsyncTask面临的问题

时间:2019-02-27 11:43:32

标签: android

我正面临以下问题。

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将第2个值覆盖第1个值,我想基于package_id进行两次调用。 AsyncTask调用了两次,但包号为2的我无法对其调用,包号为1

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

  

您将相同的键“ package_id”用于两个不同的包ID