Java 返回活动时丢失图像
我在“资源”文件夹中有图像,当我在“回收者视图”活动中选择这些图像时,它们会被调用到我的主活动。我还有一个通知操作,可在需要时回调主活动(以访问设置)。但是,当我通过单击notification action按钮回调主活动时,在主活动显示之前,我会得到一个nullpointer异常。我已经尝试序列化我的对象,以便保存它,因此nullpointer异常将消失,但它仍然存在 这是我的密码:Java 返回活动时丢失图像,java,android,serialization,parcelable,Java,Android,Serialization,Parcelable,我在“资源”文件夹中有图像,当我在“回收者视图”活动中选择这些图像时,它们会被调用到我的主活动。我还有一个通知操作,可在需要时回调主活动(以访问设置)。但是,当我通过单击notification action按钮回调主活动时,在主活动显示之前,我会得到一个nullpointer异常。我已经尝试序列化我的对象,以便保存它,因此nullpointer异常将消失,但它仍然存在 这是我的密码: item = getIntent().getExtras().getParcelable(IT
item = getIntent().getExtras().getParcelable(ITEM_KEY);
try {
ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream(fileName));
os.writeObject(item);
os.close();
} catch (IOException e) {
e.printStackTrace();
}
if (item == null) {
pItem = getIntent().getExtras().getParcelable(CustomAdapter.ITEM_KEY_2);
if (pItem == null) {
// throw new AssertionError("Null data item received!");
try {
ObjectInputStream is = new ObjectInputStream(new FileInputStream(fileName));
try {
Object object = is.readObject();
is.close();
if (object != null) {
object = item;
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
以下是异常:“原因:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法‘android.os.Parcelable android.os.Bundle.getParcelable(java.lang.String)’”
它适用于“os.writeObject(item);”
如果能给我一些建议,我将不胜感激。谢谢 显然
getIntent().getExtras()
返回null
,因此您尝试执行null.getParcelable()
。使用前请检查空值。谢谢,我刚刚尝试过,但错误仍然存在。奇怪的是,当我从RecyclerView访问MainActivity时,它不返回null。但当我尝试从通知访问它时,它返回null。这就是为什么我认为序列化它将有助于保存对象,以便我可以返回到它。但它一事无成。