gpt4 book ai didi

android - android如何获得 "android.app.SuperNotCalledException "?

转载 作者:行者123 更新时间:2023-11-29 18:05:06 25 4
gpt4 key购买 nike

我很好奇 android 如何检测我是否在我的 onCreate 方法中调用了 super.onCreate(或其他一些方法)。

我猜它使用了一个标志,并在 Activity.class 中看到了一个标志 boolean mCalled;,但不确定它是否用于此检测。如果是的话,那会让我很困惑,因为有很多 super 方法要覆盖,但只有一个“mCalled”标志让这些方法检测是否调用了 super 方法,这似乎是不可能的。

谢谢回复~

最佳答案

模式是这样工作的:

private boolean superCalled;

private someFunction(...) {
superCalled = false;
someMethodThatRequiresSuperToBeCalled(...);
if (!superCalled) {
throw new SuperNotCalledException();
}
}

protected void someMethodThatRequiresSuperToBeCalled(...) {
superCalled = true;
}

如果您查看代码,您会发现框架一次仅将标志用于一种方法。因此,即使有许多方法需要调用 super.whatever(),它们也可以共享相同的标志。

关于android - android如何获得 "android.app.SuperNotCalledException "?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13785860/

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