Java scheduleAtFixedRate计时器不工作(Eclipse中的Android)

Java scheduleAtFixedRate计时器不工作(Eclipse中的Android),java,android,eclipse,timer,illegalargumentexception,Java,Android,Eclipse,Timer,Illegalargumentexception,我正在Eclipse中为我的Android应用程序使用scheduleAtFixedRate计时器,但它不起作用: Timer t = new Timer(); t.scheduleAtFixedRate(task, (long) 0, (long) interval*1000); 例如,其中间隔可以是0.5。然而,这是可行的: Timer t = new Timer(); t.scheduleAtFixedRate(task, (long) 0, (long) 500);

我正在Eclipse中为我的Android应用程序使用scheduleAtFixedRate计时器,但它不起作用:

Timer t = new Timer();
t.scheduleAtFixedRate(task, (long) 0, (long) interval*1000);
例如,其中间隔可以是0.5。然而,这是可行的:

    Timer t = new Timer();
    t.scheduleAtFixedRate(task, (long) 0, (long) 500);
时间表计时器也可以工作:

    Timer t = new Timer();
    t.schedule(task, (long) interval*1000);
我觉得这很奇怪,不知道为什么模拟器会给出一个illegalargumentexception。有人能帮我吗

编辑:堆栈跟踪

03-20 12:29:54.080: E/AndroidRuntime(855): FATAL EXCEPTION: main
03-20 12:29:54.080: E/AndroidRuntime(855): Process: com.example.bulerias, PID: 855
03-20 12:29:54.080: E/AndroidRuntime(855): java.lang.IllegalArgumentException
03-20 12:29:54.080: E/AndroidRuntime(855):  at java.util.Timer.scheduleAtFixedRate(Timer.java:526)
03-20 12:29:54.080: E/AndroidRuntime(855):  at com.example.bulerias.MainActivity$1.onClick(MainActivity.java:92)
03-20 12:29:54.080: E/AndroidRuntime(855):  at android.view.View.performClick(View.java:4424)
03-20 12:29:54.080: E/AndroidRuntime(855):  at android.view.View$PerformClick.run(View.java:18383)
03-20 12:29:54.080: E/AndroidRuntime(855):  at android.os.Handler.handleCallback(Handler.java:733)
03-20 12:29:54.080: E/AndroidRuntime(855):  at android.os.Handler.dispatchMessage(Handler.java:95)
03-20 12:29:54.080: E/AndroidRuntime(855):  at android.os.Looper.loop(Looper.java:137)
03-20 12:29:54.080: E/AndroidRuntime(855):  at android.app.ActivityThread.main(ActivityThread.java:4998)
03-20 12:29:54.080: E/AndroidRuntime(855):  at java.lang.reflect.Method.invokeNative(Native Method)
03-20 12:29:54.080: E/AndroidRuntime(855):  at java.lang.reflect.Method.invoke(Method.java:515)
03-20 12:29:54.080: E/AndroidRuntime(855):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
03-20 12:29:54.080: E/AndroidRuntime(855):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
03-20 12:29:54.080: E/AndroidRuntime(855):  at dalvik.system.NativeStart.main(Native Method)

根据文档,如果
延迟<0
时间段,则会引发
IllegalArgumentException
,您可以在一分钟内发布完整的堆栈跟踪吗(编译器非常慢)我已发布堆栈跟踪而不是0指定延迟我假设
(长)间隔
会将
间隔
转换为长,
(长)0.5==0,因此您的周期为0。您需要
(长)(间隔*1000)
Timer t = new Timer();
long period = (long) interval*1000;
Log.i("sometag", "period = " period);
t.scheduleAtFixedRate(task, (long) 0, period);