public final Timer timer = new Timer(10,new ActionListener() { @OverrIDe public voID actionPerformed(ActionEvent e) { // Do task here } });
我需要能够调用timer.start();来自计时器所在的活动.
解决方法 在大多数情况下,使用Handler而不是Timer更好.处理程序能够发送延迟消息.使用Handler的好处是:>它在主(UI)线程上运行 – >可以访问视图(不同于
定时器,不能直接访问视图)
>如果需要,您可以删除待处理的延迟消息
>减少代码
例:
class MyActivity extends Activity { private static final int disPLAY_DATA = 1; // this handler will receive a delayed message private Handler mHandler = new Handler() { @OverrIDe public voID handleMessage(Message msg) { // Do task here if (msg.what == disPLAY_DATA) displayData(); } }; @OverrIDe voID onCreate(Bundle b) { //this will post a message to the mHandler,which mHandler will get //after 5 seconds mHandler.sendEmptyMessageDelayed(disPLAY_DATA,5000); }}总结
以上是内存溢出为你收集整理的android中的Java Timer全部内容,希望文章能够帮你解决android中的Java Timer所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)