【发布时间】:2012-10-23 02:07:48
【问题描述】:
这是扩展 CountDownTimer 的类。
public class timer extends CountDownTimer{
private final long startTime = 50000;
private final long interval = 1000;
int timeElapsed;
public timer(long starttime, long interval){
super(starttime, interval);
}
@Override
public void onFinish() {
}
@Override
public void onTick(long millisUntilFinished) {
timeElapsed = (int)(startTime - millisUntilFinished);
}
}
这里是主类。
long millisUntilFinished = 0;
timer myTime = new timer(5000, 1000);
myTime.onTick(millisUntilFinished);
if(myTime.onTick(millisUntilFinished) == 2000){
//do the next process
}
这段代码告诉
运算符 == 对于你的类型未定义 void, int
我想如何获取覆盖方法中的 timeElapsed 值,并且该值可以在主类中用于下一个进程。
请帮我解决这个问题。感谢您的提前。
【问题讨论】:
-
myTime.onTick是一个 void 方法。您不能使用它来分配值,因为它不返回任何内容。为您的属性创建一个吸气剂。 -
FFS 以大写字母开头类名!
-
@Luiggi:他没有给它赋值,但他正在尝试使用
==运算符将 void 与 int 进行比较,这同样是非法的。 -
@sarah:当发布这样的问题时,不要解释错误消息,因为您遗漏了重要信息。而是发布整个错误消息。
-
@Sara:感谢您的纠正。您的错误消息准确地告诉您您做错了什么。解决方案:不要这样做。仅比较有意义的值。