【发布时间】:2013-10-15 20:47:36
【问题描述】:
我有一个定义了 HashMap 的类:
class AccomplishmentsOutbox {
HashMap<String, Boolean> mAchBools = new HashMap<String, Boolean>(){{
put("CgkIlezvppMIEAIQAg", false);
}
};
}
在我的 Activity 类中,我添加了:
AccomplishmentsOutbox mOutbox = new AccomplishmentsOutbox();
然后,在一个方法中,我尝试将 HashMap 布尔值设置为 true:
public void onUnlockAchievement(String achievementID) {
mOutbox.mAchBools.put(achievementID, true);
}
当我将相同的字符串 ID (CgkIlezvppMIEAIQAg) 作为参数传递时,此行会引发空指针异常。是否有任何明显的原因导致错误?提前致谢。
【问题讨论】:
-
什么是
mOutbox?初始化了吗? -
请添加
mOutbox初始化代码,以及mAchBools如何暴露在外面,因为我不认为它是公开的。 -
我忘了在我的 Activity 类中添加,我添加了:AccomplishmentsOutbox mOutbox = new AccomplishmentsOutbox();
-
首先我不会公开 mOutbox.mAchBools,我将使用访问器方法在哈希图中添加或删除内容。此外,在尝试从哈希图中添加或删除值之前,请进行空检查
-
设置断点并检查
mOutbox和mOutbox.mAchBools的值
标签: java android parameters nullpointerexception hashmap