在我的父母班上:
// ParentActivity.java
@Override
protected void onResume() {
if (this instanceof ParentActivity) connectToGoogleAnalytic("parent");
// do something else
super.onResume();
}
在儿童班:
// ChildActivity.java extent ParentActivity
@Override
public void onResume() {
if (this instanceof ChildActivity) connectToGoogleAnalytic("child");
super.onResume();
}
情况是,如果活动是
ChildActivity
,则在调用onResume
时,它也会同时调用ParentActivity's
onResume
,而不是调用ChildActivity's
onResume
并弄乱分析数据。我尝试使用instanceof检查this
是否等于ParentActivity
,但是它不起作用。 最佳答案
如果ChildActivity扩展ParentActivity,则ChildActivity的实例既是ChildActivity又是ParentActivity。
由于您要调用super.onResume,因此只需删除
if (this instanceof ChildActivity) connectToGoogleAnalytic();
来自ChildActivity.onResume
关于java - Android Java识别“this”。或调用父函数的子类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17026532/