我开发了一个应用程序,其中有一个时钟,现在我从系统时钟开始创建活动并显示它的时间,但是当系统时间改变时,这个没有更新..是否有任何方法进行更换系统时间变化的时间?
谢谢
答案 0 :(得分:1)
你总是可以继承TimerTask并创建一个线程,一旦你获取系统时间,它就会不断更新(每秒一次)。
public class TimerActivity extends Activity {
TextView hTextView;
Date d;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
hTextView = (TextView)findViewById(R.id.idTextView);
MyTimerTask myTask = new MyTimerTask();
Timer myTimer = new Timer();
d=calendar.getInstance().getTime();
hTextView.setText(d);
myTimer.schedule(myTask, 1000, 1000);
}
class MyTimerTask extends TimerTask {
public void run() {
if(TimerActivity.this!=null && !TimerActivity.this.isFinishing()){
d=new Date(d.getTime()+1000);
updateOnUIThread(d);
}
}
}
}