5

以下语句未在某些设备上执行。

AddEvent act1 = (AddEvent) getLocalActivityManager().getCurrentActivity();

上述陈述是否有任何替代方法。在某些设备上它可以正常工作,但在其他设备上它会出现异常。

单击此处... 黄色文本显示异常

编辑:我的应用程序是在选项卡中开发的。OnActivity 结果用于从相机活动中获取图片。不知道驻留在哪里,但是当我将上述语句放在 try catch 中时,不会发生强制关闭,并且在那里显示异常。

4

2 回答 2

3

问题不在于转换,而是假设返回的 ObjectgetLocalActivityManager().getCurrentActivity()是 type AddEventgetLocalActivityManager().getCurrentActivity()如果不查看您的实现,很难说在什么情况下返回不是 AddEvent 类型的 Object。

以下代码将检查返回的 Object 是否确实是 type AddEvent

if(getLocalActivityManager().getCurrentActivity() instanceof AddEvent){
    AddEvent act1 = (AddEvent) getLocalActivityManager().getCurrentActivity();
}

但是在您的情况下,建议检查在什么情况下getLocalActivityManager().getCurrentActivity()返回fable.eventippo.Homeas against的实例fable.eventippo.AddEvent

于 2013-05-17T05:40:40.683 回答
2

我不确定你在哪里写这行,但 logcat 输出说:你正在尝试将HomeActivity 转换为AddEvent,这就是它给你的原因ClassCastException

仅供参考,getLocalActivityManager().getCurrentActivity();正在回归Home

于 2013-05-17T05:34:48.863 回答