我已經目前在我的Java文件中創建一個新的CountDownTimer對象的值,然後我有一個計時器已經在那裏它使已經所需功能的另一個新CountDownTimer對象的onFinish()方法在它自己的onFinish()方法中。對象,要求他們修改用於別處
但是,當我在第二個定時器之外創建一個布爾值(並將其保持爲false),然後嘗試在第二個定時器的onFinish()方法中將此布爾值修改爲true時,它會給出錯誤:「Variable [布爾變量名稱]從內部類訪問,需要聲明爲最終「。
當我聲明變量最後,雖然我絕對不能修改。
那麼,什麼是着手解決這一問題的最有效方法是什麼?我不能失去定時器的功能,但我對java的使用非常淺薄。如果這個問題看起來很愚蠢,我很抱歉。
我很想也使用像一個getter/setter方法,但有一個計時器,我不知道,即使是有效的。
謝謝大家誰提前回復!非常感謝! :)
爲了清楚起見:我需要定時器設置一個布爾標誌,將檢測到的第二計時器確實已經完成。這會將布爾標誌設置爲true,然後修改我創建的按鈕的功能。以類似的方式我也希望這第二個定時器初始化一個長整型值之外吧被引用爲好。
如果布爾=假,則該按鈕可引起拒絕用戶的。
如果布爾=真,那麼按鈕接受用戶。
然後我用下面獲得的長號碼。
代碼的要求:
boolean clickAppropriate = false;
new CountDownTimer(t1, t2) {
public void onTick(long millisUntilFinished) {
}
public void onFinish() {
mTextField.setText("text");
new CountDownTimer(t3, t4) {
public void onTick(long millisUntilFinished) {
public void onFinish() {
long startTime = System.nanoTime();
clickAppropriate = true;
}
}.start();
}
}.start();
在[最小,完整和可驗證示例]中顯示代碼相關代碼(http://stackoverflow.com/help/mcve) – Andreas