Не могу понять, почему мой CountDownTimer не будет запущен. Я вижу, что при инициализации переменных таймера mCountdownInterval и MMillisInFuture правильно, когда я вызываю start, и mStopTImeInFuture, похоже, увеличивается.CountDownTimer не будет работать
Я создал переменную time_up, чтобы попытаться установить, когда время увеличивается и истекло.
Я создаю класс MyCount.
public class MyCount extends CountDownTimer {
public byte time_up;
public MyCount(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
@Override
public void onFinish() {
time_up=1;
}
@Override
public void onTick(long millisUntilFinished) {
time_up=1;
}
}
Затем осуществлено в MainActivity.
package com.example.myapplication;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity {
private MyCount timer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
timer = new MyCount(10000,250);
timer.time_up =0;
timer.start();
while(timer.time_up==0);
timer.time_up=0;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
Что вы пытаетесь достичь здесь? Таймер запускается в другом потоке, поэтому доступ к этой переменной вообще не синхронизируется. –
while (timer.time_up == 0); --- Не может быть хорошо. –
Мне нужно сделать простой таймер, чтобы ждать ответа от линии связи USB. Если ответ не получен в течение определенного периода времени, мне нужно создать тайм-аут. Я, хотя CountDownTImer мог это сделать, очевидно, нет. Любой другой способ создать фоновый таймер, который может установить переменную, когда произойдет мой тайм-аут? – user1895526