按活动的事件更新活动

时间:2017-12-26 15:25:24

标签: android

我有2个活动A和B. A有一个带有歌曲列表的recyclerView。当我点击一个命令进入B并开始播放它。 B有一个onCompletionListener(),所以它会自动更改并播放歌曲。当一个人回到活动A时,当前正在播放的歌曲的名称会显示在textView中。问题是当在backgorund中更改歌曲时,textView无法自动更新。 我有一个解决方案就是将textView设为静态并从B中的OnCompletionListener更改它,但我没有发现它有效。有没有更好的方法来做到这一点。 任何帮助,将不胜感激。提前谢谢。

2 个答案:

答案 0 :(得分:1)

有几种方法可以实现这一点:

  • 处理程序 您可以在A中实现Handler并将Handler的地址传递给B.并且您可以使用此Handler向A发送消息。
  • 广播接收器 与Handler相同。你可以在A中实现并将BroadcastReceiver的地址传递给B.你可以使用它向B发送广播。
  • startActivityForResult 您可以使用startActivityForResult启动活动B.您需要在A中实现onActivityResult函数。您可以在B完成时将数据发送到A.当B完成时,您可以将最后一首歌曲数据发送给A.

我希望它会对你有所帮助!

答案 1 :(得分:0)

如果您是Android的新手,在Android组件之间创建通信渠道的最简单(也是最快)方式是使用EventBus等总线

您只需要创建一个包含信息的类,然后您的活动将订阅一个总线,他们将非常容易地相互发送和接收这些对象