从android中的Service更新Seekbar

时间:2015-09-09 11:24:23

标签: android seekbar

关于更新搜索栏的任何想法从android中的服务进展。 我正在尝试,但无法更新搜索栏的进度。

请帮帮我。

提前谢谢。

2 个答案:

答案 0 :(得分:1)

如果你想要

,我有一个简单的想法
  1. 在您的服务中更新您的搜索栏值并将其放入共享偏好设置。
  2. 在您的活动或片段中,使用处理程序从共享首选项中获取此更新值。
  3. 更新此值的搜索栏。
  4. 如果您的任务已完成,请删除您的处理程序

答案 1 :(得分:0)

使用Messenger是另一种在服务和活动之间进行通信的简单方法。

在“活动”中,使用相应的Messenger创建一个处理程序。这将处理来自您服务的消息。

class ResponseHandler extends Handler {
@Override public void handleMessage(Message message) {
        Toast.makeText(this, "message from service",
                Toast.LENGTH_SHORT).show();
}

}

Messenger messenger = new Messenger(new ResponseHandler());

可以将Messenger附加到消息传递给服务:

Message message = Message.obtain(null, MyService.ADD_RESPONSE_HANDLER);
message.replyTo = messenger;
try {
myService.send(message);
catch (RemoteException e) {
e.printStackTrace();
}

可以在API演示中找到完整的示例:MessengerService和MessengerServiceActivity link。有关MyService的工作原理,请参阅完整示例。