在活动之间传递带有自定义Parcelable Arraylist的HashMap

时间:2015-04-20 15:42:12

标签: java android arraylist hashmap parcelable

我正在尝试在我的服务和活动之间传递HashMap。我知道如何使用自定义对象传递Arraylist。 但未能找到从服务传递hashmap的解决方案。

我有服务,我想将hashMap发送到我的活动

   public void getpProperies(ArrayList<property> values){
    if(values != null && values.size() > 0){
        for(property si : values){
            if(si instanceof esOtherProperty){
                Log.d(TAG, "Data "+ ((esOtherProperty) si).name);

            }
            if(si instanceof esEmpProperty){
                Log.d(TAG, "EMP Data "+ ((esEmpProperty) sig).name);
            }
        }
    }

    Bundle bundle = new Bundle();
    bundle.putParcelableArrayList("si", allvalues);
    if(resultReceiver != null)
    resultReceiver.send(100,bundle);
}
private HashMap<String, ArrayList<esProperty>> allvalues;

所以改为bundle.putParcelableArrayList(“si”,allvalues),有没有办法传递allvalues hashmap。我看了Bundle Class但没找到任何东西。

1 个答案:

答案 0 :(得分:1)

putParcelableArrayList()接收一个ArrayList&lt;“Parcable Items”&gt;,而不是一个HashMap。由于HashMaps和ArrayLists是Serializable, putSerializable()应该可以工作。