gpt4 book ai didi

android - 哪些情况抛出 SuperNotCalledException

转载 作者:行者123 更新时间:2023-11-30 02:51:30 25 4
gpt4 key购买 nike

在 Android 应用程序中覆盖方法时,很多时候我们需要调用 super 方法。

在某些情况下,例如在 fragment 的 onActivityCreated() 方法中,如果未调用 super,将抛出 SuperNotCalledException。在其他情况下,例如在 Activity 的 onCreateOptionsMenu() 方法中,虽然官方文档(http://developer.android.com/guide/topics/ui/actionbar.html)显示了调用 super 方法的示例代码,但实际上并不是真正需要的,并且不会出现异常被抛出。

所以我的问题是,是否有任何经验法则可以用来猜测何时可能需要调用 super。

最佳答案

通常,修改对象状态的 Activity 和 fragment 生命周期回调必须调用父实现。不修改对象状态而只是返回一个对象或修改作为参数传入的回调(例如传递给 onCreateOptionsMenu()Menu)需要调用父实现。父级仅提供一个有用的默认实现(通常为空),但它可能会被完全覆盖。

要了解 SuperNotCalledException 的确切抛出位置,grep the source .

SuperNotCalledException 问题也很容易重现和修复。请记得测试您的应用。

关于android - 哪些情况抛出 SuperNotCalledException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24075254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com