@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
((CustomApplication) getApplication()).detach(this);
}
生成PMD报告时,出现此错误:方法结尾应调用Super。通常,您最终会将super方法保留在顶部(第一条语句),以便首先调用其父类进行初始化。
最佳答案
通常,您最终会将super方法保留在顶部(首先
语句),以便首先调用其父类。
以下代码段显示了Activity#onSaveInstanceState(Bundle outState)
的外观。您可以看到它仅通过调用super.onSaveInstanceState(outState);
将传入的Bundle保存为参数。因此,在实际在Bundle中保存内容之前调用super方法是没有意义的。
protected void onSaveInstanceState(Bundle outState) {
outState.putBundle(WINDOW_HIERARCHY_TAG, mWindow.saveHierarchyState());
Parcelable p = mFragments.saveAllState();
if (p != null) {
outState.putParcelable(FRAGMENTS_TAG, p);
}
getApplication().dispatchActivitySaveInstanceState(this, outState);
}
关于android - Super应该在方法结尾处调用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17992284/