我正在开发音乐播放器应用程序,我已经使用服务类包括Play,Pause,next和Previous曲目等基本功能。
现在我想根据用户点击的操作更新我的recyclerview
用户界面(例如:在游戏中,recyclerview
中应该有所选元素的图像。)
我想使用广播接收器,服务类将在不同的动作上广播,然后recyclerview
可以根据广播动作进行更新。但是我该如何添加这样的功能呢?
答案 0 :(得分:0)
您需要一个活动广播接收器。此类接收器在您的活动显示时进行注册,一旦隐藏就取消注册。
public class MainActivity extends Activity {
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// Here update your RecyclerView
}
};
@Override
protected void onResume() {
super.onResume();
IntentFilter filter = new IntentFilter(YourService.YOUR_CUSTOM_ACTION);
registerReceiver(mReceiver, filter);
}
@Override
protected void onPause() {
super.onPause();
unregisterReceiver(mReceiver);
}
}
在您的服务中,只需发送广播:
Intent intent = new Intent(YOUR_CUSTOM_ACTION);
// put extras in the intent as you wish
sendBroadcast(intent);