Android hashmap返回null

时间:2017-01-15 19:13:01

标签: java android nullpointerexception hashmap

我正在尝试在活动之间发送一个hashmap,但它始终为null。

发送代码:

public HashMap <Integer, Integer> pickedPick = new HashMap <>();
Intent intent = new Intent(this, CharPick.class);
intent.putExtra("hashMap", pickedPick);
startActivity(intent);

接收代码:

Intent intent = getIntent();
pickedPick = (HashMap <Integer, Integer>) intent.getSerializableExtra("hashMap");

我在使用它并在尝试发送之前获取NPE:

if (pickedPick != null && pickedPick.keySet().contains(clicked)){
    pickedPick.remove(clicked);
    pickedPick.put(clicked, picked);
} else if (pickedPick != null) { 
    pickedPick.put(clicked, picked);
}
intent.putExtra("hashMap", pickedPick);
startActivity(intent);

这是我们在hashmap中添加数据的唯一地方,但它不起作用,因为hashmap始终被视为null。我不知道是什么导致它保持无效。

1 个答案:

答案 0 :(得分:0)

只有当pickedPick对象为null时,才会执行else语句。所以你得到了NPE。