0

在我的父类中:

// 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,但它不起作用。

4

1 回答 1

3

如果 ChildActivity 扩展 ParentActivity,则 ChildActivity 的实例既是 ChildActivity 又是 ParentActivity。

由于您正在调用 super.onResume 您可以删除

if (this instanceof ChildActivity) connectToGoogleAnalytic();

来自 ChildActivity.onResume

于 2013-06-10T14:47:21.977 回答