0

我有一个Activity,它会Fragment不时在各种不同的视图之间切换。在我的Activity代码中,假设我有

  @Override
  public void onStart() {
    super.onStart();
    ... // The rest of your onStart() code.
    EasyTracker.getInstance().activityStart(this); // Add this method.
  }

  @Override
  public void onStop() {
    super.onStop();
    ... // The rest of your onStop() code.
    EasyTracker.getInstance().activityStop(this); // Add this method.
  }

在每个Fragment代码中,我都需要吗?

EasyTracker.getInstance().setContext(this.getActivity());
4

1 回答 1

1

我需要在 Fragment 中调用 EasyTracker.getInstance().setContext 吗?

不必要。这取决于您在 Fragment 中使用 EasyTracker 的位置。如果onStart()在使用 EasyTracker 之前调用了 Activity 的方法,那么你会没事的,EasyTracker 将使用 Activity 的 Context。

但是,如果您的 Fragment 在 ActivityonStart()完成之前使用 EasyTracker(例如 inonCreateView()或 Fragment's onStart()),那么 EasyTracker 将没有 Context 并且您将收到异常。

于 2013-07-12T17:26:38.663 回答