何在robovm中使用NSTimer?

时间:2015-05-11 06:17:25

标签: robovm

我在robovm中使用NSTimer,但它不起作用,我不知道为什么? 这是我的代码:

mTimer = NSTimer.create(1, new VoidBlock1<NSTimer>() {                  
                    @Override
                    public void invoke(NSTimer a) {
                            onUpdate();
                           System.out.println("onUpdate");
                    }

            }, true);

但不会发生。

其他方式:

mTimer = NSTimer.create(1, this, Selector.register("onUpdate"), null, true);

@Method(selector = "onUpdate")
    public void onUpdate(){
    System.out.println("onUpdate");
}
也没有发生任何事情。和其他方式也不起作用

mTimer = NSTimer.create(1, this, Selector.register("onUpdate:"), null, true);

@Callback @BindSelector("onUpdate:")
public void onUpdate(Selector cmd){
    System.out.println("onUpdate");
}

它也行不通。请帮帮我。

1 个答案:

答案 0 :(得分:0)

我没有对此进行过测试,但是看看NSTimer.java似乎您可能在没有启动/触发它的情况下创建了一个计时器。

也许您可以尝试使用方法createScheduled():

mTimer = NSTimer.createScheduled(1, new VoidBlock1<NSTimer>() {                  
                @Override
                public void invoke(NSTimer a) {
                        onUpdate();
                       System.out.println("onUpdate");
                }

        }, true);

或者,如果你真的不需要它是NSTimer我建议使用java.util.Timer。这在Robovm应用程序中非常有用。