从另一个片段停止MediaPlayer

时间:2013-09-18 17:55:57

标签: android android-fragments android-mediaplayer

我有几个片段通过MediaPlayer播放声音。但是我想在片段改变后停止媒体播放器。我试过了:

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

  • onDestroy()

  • onStop()

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

提前致谢。

1 个答案:

答案 0 :(得分:1)

我会实现这样的界面:

public interface INoisey {
  public void stopThatNoise();
}

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

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

这不完全是你的情况,但背后的基本理念。 http://www.vogella.com/articles/AndroidFragments/article.html#fragments_activitycommunication