【问题标题】:Stop MediaPlayer from another fragment从另一个片段停止 MediaPlayer
【发布时间】:2013-09-18 17:55:56
【问题描述】:

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

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

  • onDestroy()

  • onStop()

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

提前致谢。

【问题讨论】:

  • 不会在适当的时间调用 onPause 吗?
  • 不,当我滑动两个片段而不是一个片段时会调用它

标签: android android-fragments android-mediaplayer


【解决方案1】:

我会实现这样的接口:

public interface INoisey {
  public void stopThatNoise();
}

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

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

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

【讨论】:

  • 谢谢,我会试着弄清楚如何做到这一点:)
猜你喜欢
  • 2022-11-11
  • 1970-01-01
  • 1970-01-01
  • 2017-03-25
  • 1970-01-01
  • 1970-01-01
  • 2016-09-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多