У меня есть цикл while, который мне нужно отложить, но я не могу.
Я уже пробовал два метода, но ни один из них не работает.
вот что я попробовал Мне нужно, когда я нажимаю кнопку mNavigate, чтобы запустить цикл и запустить его с задержкой. Я заявляю выше, что mNavMode является ложным
mNavigate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d(TAG, "onClick: clicked NAV icon");
mNavMode = !mNavMode;
while (mNavMode){
Log.d(TAG, "while: running");
new CountDownTimer(10000, 2500) {
public void onFinish() {
Log.d(TAG, "onFinish: finish");
}
public void onTick(long millisUntilFinished) {
if (mNavMode){
getDevLoc();
}
Log.d(TAG, "onTick: ticked "+millisUntilFinished);
}
}.start();
}
}
});
mNavigate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d(TAG, "onClick: clicked NAV icon");
mNavMode = !mNavMode;
Handler handler1 = new Handler();
while (mNavMode){
handler1.postDelayed(new Runnable() {
@Override
public void run() {
getDevLoc();
}
}, 1000 );
Log.d(TAG, "while: running");
}
}
});