1
好的,我有一個關於處理程序的問題。Android處理程序:postdelayed中的變量狀態
場景:Handler mHandler,Runnable mRunnable,int mState。
mRunnable應該根據mState。
Runnable mRunnable = new Runnable() {
@Override
public void run() {
switch (mState) {
case 1:
firstCase();
break;
case 2:
secondCase();
break;
default:
break;
}
}
};
現在我將發出mHandler.postDelayed(mRunnable,3000)命令。
假設爲了參數mState最初爲1並且在2.5秒後將變爲2。
我的問題是:哪個函數將被執行? firstCase()或secondCase()
我知道你可以自己試試, 但我的真正意圖是要了解這個問題背後的原因。
謝謝你們:)
'secondCase()',因爲,mState'的'清楚的值執行'run'時爲2。 –