Я пытаюсь остановить Runnable с помощью removeCallbacks, но почему-то это не остановится. - вот мои переменныеAndroid Runnable не останавливается после removeCallbacks()
private int mInterval = 2000; // 2 seconds by default, can be changed later
private Handler mHandler = new Handler();
и мой работоспособной
Runnable mStatusChecker = new Runnable() {
@Override
public void run() {
try {
checkPayNow();
} finally {
// 100% guarantee that this always happens, even if
// your update method throws an exception
mHandler.postDelayed(mStatusChecker, mInterval);
}
}
};
и метод, который я бегу пока она дает мне определенное значение, то я остановить
public void checkPayNow(){
if (!url.isEmpty()){
//url now has text
mHandler.removeCallbacks(mStatusChecker);
}else {
//no text yet
}
}
, где вы сейчас вызываете checkPayNow? –
Im, вызывающий Runnable On a Button Нажмите –
Вы получаете ошибку, потому что независимо от того, отмените ли вы ее в 'checkPayNow()' или нет, вы все равно вызываете 'postDelayed()' на своем обработчике через ваш 'finally'-блок (которые вы также указываете в своем комментарии). – Shaishav