类转换的任何替代方法

2024-03-23

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

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

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

Edit:我的应用程序是在选项卡中开发的。 OnActivity 结果用于从相机活动中获取图片。不知道驻留在哪里,但是当我将上述语句放入 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.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

类转换的任何替代方法 的相关文章