HashMap myMap = (HashMap) getLastNonConfigurationInstance();
myMap 始终为空。 getLastNonConfigurationInstance() 返回一个对象。我的 map 有两个键“符号”和“名称”。
public Object onRetainNonConfigurationInstance()
{
HashMap myMap = new HashMap();
myMap.put("symbol", this.symbol);
final Object data = myMap;
return data;
}
最佳答案
如果 getLastNonConfigurationInstance()
返回一个非空对象,那么 (HashMap) getLastNonConfigurationInstance()
要么返回相同的对象(如果该对象是 HashMap
),要么抛出一个 ClassCastException
。
您描述的情况是不可能的,除非您发现了 Java 的 cast 运算符中隐藏已久的错误。提示:你没有。
验证 getLastNonConfigurationInstance()
是否实际返回了一个非空对象。验证 myMap
实际上为空。如果您使用调试器来检查这些值,请尝试将它们打印到控制台。调试器有时会对您撒谎,或者至少会误导您。
关于java - getLastNonConfigurationInstance 总是返回 null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3640733/