以下语句未在某些设备上执行。
AddEvent act1 = (AddEvent) getLocalActivityManager().getCurrentActivity();
上述陈述是否有任何替代方法。在某些设备上它可以正常工作,但在其他设备上它会出现异常。
编辑:我的应用程序是在选项卡中开发的。OnActivity 结果用于从相机活动中获取图片。不知道驻留在哪里,但是当我将上述语句放在 try catch 中时,不会发生强制关闭,并且在那里显示异常。
以下语句未在某些设备上执行。
AddEvent act1 = (AddEvent) getLocalActivityManager().getCurrentActivity();
上述陈述是否有任何替代方法。在某些设备上它可以正常工作,但在其他设备上它会出现异常。
编辑:我的应用程序是在选项卡中开发的。OnActivity 结果用于从相机活动中获取图片。不知道驻留在哪里,但是当我将上述语句放在 try catch 中时,不会发生强制关闭,并且在那里显示异常。
问题不在于转换,而是假设返回的 ObjectgetLocalActivityManager().getCurrentActivity()
是 type AddEvent
。getLocalActivityManager().getCurrentActivity()
如果不查看您的实现,很难说在什么情况下返回不是 AddEvent 类型的 Object。
以下代码将检查返回的 Object 是否确实是 type AddEvent
:
if(getLocalActivityManager().getCurrentActivity() instanceof AddEvent){
AddEvent act1 = (AddEvent) getLocalActivityManager().getCurrentActivity();
}
但是在您的情况下,建议检查在什么情况下getLocalActivityManager().getCurrentActivity()
返回fable.eventippo.Home
as against的实例fable.eventippo.AddEvent
。
我不确定你在哪里写这行,但 logcat 输出说:你正在尝试将Home
Activity 转换为AddEvent
,这就是它给你的原因ClassCastException
。
仅供参考,getLocalActivityManager().getCurrentActivity();
正在回归Home
。