Tag: countdowntimer

带处理程序的顺序countdowntimer不会正确更新textView

我试图建立某种顺序倒计时。 意思是,我建立了一个“练习”队列,每个练习都包含一个特定的持续时间,即倒计时时间。 在自定义的Countdown类中,我将这些练习从队列中弹出并将持续时间用作倒计时。 我希望这些倒计时一个接一个地运行。 为此,我根据抽象类CountDownTimer的代码基础构建了一个Countdown类。 import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Locale; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.os.SystemClock; import android.widget.Button; import android.widget.TextView; public class ExerciseMeCountDownTimer { private static final int MSG_COUNTDOWN = 100; private static final int MSG_FINISH = 99; private ArrayDeque eq; private long mMillisInFuture; private int mCountdownInterval; private String name; private long […]

当我从我的应用程序按下按钮时,Countdowntimer如何继续在后台运行?

我的计时器代码是: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); initializer(); fire.setOnClickListener(this); } private void initializer() { minute = (EditText) findViewById(R.id.etMinute); seconds = (EditText) findViewById(R.id.etSeconds); fire = (Button) findViewById(R.id.bFireTimer); Remain=(TextView)findViewById(R.id.tvRemain); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.bFireTimer: min=minute.getText().toString(); sec=seconds.getText().toString(); int MIN= Integer.parseInt(min); int SEC=Integer.parseInt(sec); long TIME= (MIN*60)+SEC; timercount = new MyCount(TIME * […]

轮换后恢复CountdownTimer

我有一个CountdownTimer,从60秒倒数。 此CountdownTimer的工作原理是将textView设置为剩余的毫秒数,但每当我旋转设备时,CountdownTimer都会重置。 我知道这是因为Activity在轮换时重新启动。 所以我尝试在活动重新启动后保存捆绑包中的剩余时间然后恢复它。 long transferValue; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_playtimemode); Log.d(“Debug”, “onCreate: ” + transferValue); long setTime = 60000; long difference = setTime – transferValue; new CountDownTimer(difference, 1000) { public void onTick(long millisUntilFinished) { millisUntilFinishedToSave = millisUntilFinished; tvCountdown.setText(“” + millisUntilFinished / 1000); } public void onFinish() { tvCountdown.setText(“done!”); } }.start(); } […]

CountDownTimer继续在后台打勾 – 如何在onResume中检索该计数?

我有一个有多个计时器的应用程序; 当我开始使用它时,我可以看到它在Eclipse中的Logcat中倒计时。 当我点击后退按钮时,在应用程序中调用onStop()但是计时器继续在logcat中倒计时( onTick()继续打勾)。 我想要的是当调用onResume()时,我想得到那个仍在倒计时并继续它的计时器。 这可能吗? 这是我的按钮开始倒计时: //Button1 Timer final CountDown button1 = new CountDown(420000,1000,bButton1); bButton1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { button1.start(); long currentTime = System.currentTimeMillis(); //Set start time for calculating time elapsed if needed saveTime(“START_TIME_BUTTON1”, currentTime); } }); //Button2 Timer final CountDown button2 = new CountDown(360000,1000,bButton2); bButton2.setOnClickListener(new OnClickListener() { @Override public […]

增加countDownTimer Android

对CountDownTimer有疑问。 我必须创建一个应用程序,允许用户每次单击按钮时将时间时间增加+1。 然后在按钮停止点击后等待三秒钟,然后开始倒计时。 我在下面粘贴了我的代码。 我的问题是:我似乎无法使数字的增量正常工作,但似乎在我停止递增数字(onStop())后它直接进入(onFinish())。 而不是去OnTick()并将数字每秒减少1。 我已经尝试了很多方法来解决这个问题,但一直困扰着。 谁能引导我朝着正确的方向做什么? 任何帮助,将不胜感激。 感谢你们! public class MainActivity extends Activity { Button incrementTime, startTime; public TextView timedisplay; public myTimer wavetimer; private long millisInFuture; private long millisUntilFinished; private long countDownInterval; private long onclicktime; //private WaveInterface model; public int countdown; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); incrementTime = (Button) findViewById(R.id.button2); […]

当另一个CountDown计时器运行时,如何暂停一个CountDown计时器?

我的程序中有两个CountDownTimers:一个4秒,一个24秒。 我希望较长的计时器每隔4秒暂停一次,较短的计时器正在运行。 然后当短计时器结束时,长计时器开始倒计时。 这是两个计时器的代码: final CountDownTimer loop = new CountDownTimer(4000, 1000) { @Override public void onTick(long millisUntilFinished) { } @Override public void onFinish() { number.setVisibility(View.GONE); final TextView prompt = (TextView) findViewById(R.id.prompt); prompt.setVisibility(View.VISIBLE); prompt.setText(” Enter the number”); final EditText input = (EditText) findViewById(R.id.enterAnswer); input.setVisibility(View.VISIBLE); input.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) […]

使用javax.swing.Timer在Java中生成倒数计时器

可能重复: 有条件的停止计时器只能第一次使用? 我很困惑如何使用swing而不是util计时器来制作计时器。 我正在制作一款游戏,用户必须在30秒的时间内回答问题。 我有一个显示时间的PlayFrame,以及一个名为startTimer的PlayFrame内部方法,它包含所有计时器内容。 public static void startTimer() { int elapsedSeconds = 0; javax.swing.Timer myTimer = new javax.swing.Timer(1000, new MyTimerActionListener()); elapsedSeconds++; if (elapsedSeconds == 30) { myTimer.stop(); timerLabel.setText(“0”); wrong(); } else { String text = String.format(“f”, 30 – elapsedSeconds); timerLabel.setText(text); } if (myTimer != null && myTimer.isRunning()) { myTimer.stop(); myTimer = null; timerLabel.setText(“0”); } […]

CountDownTimer-用户递增。 问题

我有一个关于CountDownTimer的问题。 我必须创建一个应用程序,允许用户每次单击按钮时将时间时间增加+1。 然后在按钮停止点击后等待三秒钟,然后开始倒计时。 我在下面粘贴了我的代码。 我的问题是:我似乎无法使数字的增量正常工作,但似乎在我停止递增数字(onStop())后它直接进入(onFinish())。 而不是去OnTick()并将数字每秒减少1。 我已经尝试了很多方法来解决这个问题,但一直困扰着。 谁能引导我朝着正确的方向做什么? 任何帮助,将不胜感激。 感谢你们! @SuppressWarnings(“unused”) public class MainActivity extends Activity { public int countdown; Button stoptime; public TextView timedisplay; public Timer wavetimer; private long millisInFuture; private long countDownInterval; private long onclicktime; private long finished; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); countdown = 01; stoptime = (Button) findViewById(R.id.button2); […]

如何以特定方式重复此倒数计时器……?

在游戏中输出随机数(loadG1)并显示4秒。 一旦四秒钟结束,它就会消失,用户必须输入其值才能获得一个点。 一旦用户按下回车键,他们的输入框就会消失,程序必须等到更长的CountDownTimer(当前为18秒)结束才能看到他们的分数。 到目前为止,他们只能获得一分。 我想要发生的是,一旦他们输入答案(无论是否正确),重复4秒倒数计时器的内容。 虽然,我想在倒数计时器再次启动时也输出loadG1。 所以他们输入一个答案,一个新的随机loadG1再显示4秒然后消失,他们输入另一个答案等等……直到更长的计时器结束。 我该怎么做呢? 我知道循环不起作用,因为我尝试了它只是崩溃了我的应用程序。 如果有人可以帮我这样做,我会非常感激,并告诉我如何实现代码。 注意:我是学习Java和Android开发人员的新手。 提前谢谢了。 这是代码: public class game1 extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_game1); final Button loseStarter1; loseStarter1 = (Button) findViewById(R.id.Starter1); loseStarter1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { loseStarter1.setVisibility(View.GONE); final int[] score = {0}; Random generateG1 = new Random(); final […]