首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2ME开发 >

Ticker的有关问题

2012-04-13 
Ticker的问题,我用ticker做了一个现在时间的效果,在CLDC自带的模拟器上运行没问题,但是在S40的SDK下运行它

Ticker的问题,
我用ticker做了一个现在时间的效果,
在CLDC自带的模拟器上运行没问题,
但是在S40的SDK下运行它每更新一次时间Ticker就刷新了一次,
请问怎么解决
代码是这个
  public void run(){
  Calendar ca = Calendar.getInstance();
  Date date;
  while(true){
  date = new Date();
  ca.setTime(date);
  String hour = String.valueOf(ca.get(Calendar.HOUR_OF_DAY));
  String min = String.valueOf(ca.get(Calendar.MINUTE));
  String sec = String.valueOf(ca.get(Calendar.SECOND));
  String time = hour + ":" + min + ":" + sec;
  ticker.setString(time);
  try {
  Thread.sleep(1000);
  } catch (InterruptedException ex) {
  ex.printStackTrace();
  }
  }
  }
  });
  th.start();

[解决办法]
用个定时器去做吧,。。。。。
Timer s = new Timer();
s.schedule(new TimerTask() {

public void run() {
Calendar ca = Calendar.getInstance();
Date date;
String hour;
String min;
String sec;
String time;
while (true) {
date = new Date();
ca.setTime(date);
hour = String.valueOf(ca.get(Calendar.HOUR_OF_DAY));
min = String.valueOf(ca.get(Calendar.MINUTE));
sec = String.valueOf(ca.get(Calendar.SECOND));
time = hour + ":" + min + ":" + sec;
ticker.setString(time);}
}
}, 1000);
[解决办法]
是指调用 ticker.setString(time); 方法时,ticker又头开始走了吗?如果有这问题那就没办法,只能考虑自己实现ticker
[解决办法]
你这run是TimeTask的run么?
应该new一个TimeTask,TimeTask的run做2件事
获取当前时间
刷屏
用timer去schedule这个TimeTask,没1分钟执行一次
你先看看api吧

热点排行