Хорошо, у меня есть вопрос относительно обработчика.Обработчик Android: состояние переменных в postdelayed
Сценарий: Обработчик 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 через 2,5 секунды.
Мой вопрос: Какая функция будет выполнена? firstCase() или secondCase()
Я знаю, что вы можете ответить, попробуйте сами, , но мое истинное намерение задать этот вопрос - узнать о причине такого поведения.
Благодарности Ребята :)
'secondCase()', потому что, очевидно, значение 'mState' 2, когда выполняется «run». –