Android里面有个异常,叫SuperNotCalledException,如果子类没有通过super.XXX()调用父类的方法,则报此异常,请问这是怎么实现的。
解决方案 »
- 下拉刷新和侧滑菜单冲突
- addContentView和setContentView的区别
- 参考Android下的系统级服务AlarmManagerService,自己加一个类似服务,系统老是不断重启!
- android中intent传值获得不到,帮忙看看吧。
- android tabhost返回后如何进行刷新
- android使用rsa加密 在本地C代码中使用openssl签名结果和java中不同
- 大侠们。。关于进度条动态显示进度问题。。。
- Android工程引用的问题
- 服务器问题
- 安卓报错
- 探讨:wince/android软件或者其他设备是怎么加密的?包括软件加密和硬件加密
- U8800这货的屏幕分辨率是多少?
void performResume() { mCalled = false;
onResume();
if (!mCalled) {
throw new SuperNotCalledException("Fragment " + this
+ " did not call through to super.onResume()");
} } public void onResume() {
mCalled = true;
}
在调用onResume之前先设置变量mCalled 为false,然后调用onResume,而这个mCalled 是在父类(也就是当前调用onResume的类)的onResume中设置为true的,如果子类没有写super.onResume(),自然就不会置为true,然后就可以抛出异常了。
......
if (!r.activity.mCalled) {
throw new SuperNotCalledException(
"Activity " + r.intent.getComponent().toShortString() +
" did not call through to super.onPause()");
}
......
}如果对象的mCalled没有被置为true,就抛出SuperNotCalledException异常