Hy我有一个问题,在服务中设置ServiceUpdateUIListener以更新UI。制作一个新的服务对象并在那里设置监听器并将其放在一个意图中是错误的。在基于服务的类中设置监听器
代码的来源是http://developerlife.com/tutorials/?p=356那里我找不到如何设置听众和启动服务的权利。
呼叫:
TimerService service = new TimerService();
TimerService.setUpdateListener(new ServiceUpdateUIListener() {
@Override
public void updateUI(String time) {
clock.setText(time);
}
});
Intent i = new Intent(Timer.this,service.class); //service cannot be resolved to a type
i.putExtra("ms", ms);
startService(i);
服务:
public class TimerService extends Service{
CountDownTimer timer;
Chronometer clock;
public static ServiceUpdateUIListener UI_UPDATE_LISTENER;
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onStart(Intent intent, int startId) {
// TODO Auto-generated method stub
int ms = intent.getIntExtra("ms", 0);
timer = new CountDownTimer(ms,1000){
@Override
public void onTick(long millisUntilFinished) {
int seconds = (int) (millisUntilFinished/1000) % 60 ;
int minutes = (int) ((millisUntilFinished/(1000*60)) % 60);
int hours = (int) ((millisUntilFinished/(1000*60*60)) % 24);
clock.setText(String.format("%02d:%02d:%02d", hours,minutes,seconds));
Log.e("Timer", String.valueOf(millisUntilFinished));
}
@Override
public void onFinish() {
// TODO Auto-generated method stub
}
}.start();
super.onStart(intent, startId);
}
public static void setUpdateListener(ServiceUpdateUIListener l) {
UI_UPDATE_LISTENER = l;
}
问题是没有多少明确你能解释更多...! – Noby