0

我有几个片段通过 MediaPlayer 播放声音。但是一旦片段被更改,我想停止媒体播放器。我试过了:

  • onDetach()(仅在进一步滑动 2 个片段时才会发生。)

  • onDestroy()

  • onStop() 等等

有没有办法onTabUnselected在我的片段中使用?或者在另一个片段中停止媒体播放器?

提前致谢。

4

1 回答 1

1

我会实现这样的接口:

public interface INoisey {
  public void stopThatNoise();
}

然后让每个发出噪音的片段都实现该接口。在此之后,您只需将任何产生噪音的片段传递到您可以从任何片段到达的地方,而无需将每个片段彼此耦合。我会使用一个应用程序类。然后,当一个片段发生变化时,它可以在应用程序上下文中的所有片段上调用 ​​stopThatNoise 方法。

或者更好的是,我忘记了您展示的任何片段都是正在使用的活动的一部分。通常活动已经知道他的片段,所以你可以从那里以更好的方式调用 stopThatNoise。

这不完全是您的情况,而是其背后的基本思想。 http://www.vogella.com/articles/AndroidFragments/article.html#fragments_activitycommunication

于 2013-09-18T18:01:08.330 回答