Android Java标识";这一点;或子类在父函数中调用
在我的家长班:Android Java标识";这一点;或子类在父函数中调用,java,android,Java,Android,在我的家长班: // ParentActivity.java @Override protected void onResume() { if (this instanceof ParentActivity) connectToGoogleAnalytic("parent"); // do something else super.onResume(); } 儿童班: // ChildActivity.java extent ParentActivity @Ove
// 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的onResume
,而不是调用ChildActivity的onResume
并弄乱分析数据。我尝试使用instanceof检查此
是否等于ParentActivity
,但它不起作用。如果ChildActivity扩展了ParentActivity,则ChildActivity的实例同时是ChildActivity和ParentActivity
既然您正在调用super.onResume,您只需删除即可
if (this instanceof ChildActivity) connectToGoogleAnalytic();
从ChildActivity.onResume如果ChildActivity扩展了ParentActivity,则ChildActivity的实例既是ChildActivity又是ParentActivity
既然您正在调用super.onResume,您只需删除即可
if (this instanceof ChildActivity) connectToGoogleAnalytic();
从ChildActivity.onResume对于这种情况,分析将显示用户正在读取ParentActivity而不是ChildActivity?否,如果您在ChildActivity中重写ConnectTogoLogLeanalysic,则在ParentActivity内调用ConnectToGoLogLeanalysic仍将对ChildActivity对象执行ChildActivity方法。在java多态性自动用于这种情况下,分析将显示用户正在读取ParentActivity而不是ChildActivity?否,如果您在ChildActivity中重写ConnectTogoLogLeanalysic,则在ParentActivity内部调用ConnectTogoLogLeanalysic仍将对ChildActivity对象执行ChildActivity方法。在java中,多态性在这种情况下会自动使用,在parentA.java中的if
块之后,为什么不直接调用孩子的connecttogogleanalysic()
?在这种情况下,在parentA.java中的if
块之后,为什么不直接调用孩子的connecttogogleanalysic()
?