我有一个课程如下:
private class LanePair {
public int cameraNumber;
public Nest nest1, nest2;
public LanePairStatus status = LanePairStatus.TIMER_OFF;
Timer timer = new Timer();
public LanePair(int cameraNunber, Nest nest1, Nest nest2) {
this.cameraNumber = cameraNumber;
this.nest1 = nest1;
this.nest2 = nest2;
}
public void startTimer() {
status = LanePairStatus.TIMER_ON;
timer.schedule(new TimerTask() {
public void run() {
DoAskForLaneClear(/*I want to pass this class (LanePair) here*/);
}
}, 6000 ); // 6 seconds
}
public void stopTimer() {
timer.cancel();
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,我无法弄清楚如何做到这一点.有什么建议?
Boz*_*zho 10
DoAskForLaneClear(LanePair.this);
Run Code Online (Sandbox Code Playgroud)
既然你不能使用this(它会引用它TimerTask),但是你的匿名类不能存在于一个实例中LanePair,那个实例被引用LanePair.this