以下语句未在某些设备上执行。
AddEvent act1 = (AddEvent) getLocalActivityManager().getCurrentActivity();
上面的语句是否有任何替代方法。在某些设备上它工作正常,但在其他设备上它会出现异常。
编辑:我的应用程序是在选项卡中开发的。 OnActivity 结果用于从相机 Activity 中获取图片。不知道驻留在哪里,但是当我将上面的语句放在 try catch 中时,没有强制关闭发生,并且在那里显示了异常。
最佳答案
问题不在于转换,而是假设 getLocalActivityManager().getCurrentActivity()
返回的对象是 AddEvent
类型。在不查看您的实现的情况下,很难说 getLocalActivityManager().getCurrentActivity()
在什么情况下返回不是 AddEvent 类型的对象。
以下代码将检查返回的对象是否确实是 AddEvent
类型:
if(getLocalActivityManager().getCurrentActivity() instanceof AddEvent){
AddEvent act1 = (AddEvent) getLocalActivityManager().getCurrentActivity();
}
但在您的情况下,建议检查 getLocalActivityManager().getCurrentActivity()
在什么情况下返回 fable.eventippo.Home
的实例,而不是fable.eventippo.AddEvent
.
关于android - 类转换的任何替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16601902/