大佬教程收集整理的这篇文章主要介绍了递增countDownTimer Android,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
您应该知道,onFinish
倒计时类中的时间到了时不必手动调用,也不会onFinish
因为一个导致另一个而取消或手动递减任何东西。请尝试以下操作,看它是否适合您要完成的任务。希望您能注意到,我没有看到一个实用的理由来查看按钮“是否不再被单击”。
public class MainActivity extends Activity {
button incrementTime, startTime;
public TextVIEw timedisplay;
long millisInFuture = 1000;
@OverrIDe
public voID onCreate(Bundle savedInstanceStatE) {
super.onCreate(savedInstanceStatE);
setContentVIEw(R.layout.activity_main);
incrementTime = (button) findVIEwByID(R.ID.button2);
startTime = (button) findVIEwByID(R.ID.button3);
timedisplay = (TextVIEw) findVIEwByID(R.ID.mycounter);
resetText();
incrementTime.setonClickListener(new OnClickListener() {
public voID onClick(VIEw v) {
millisInFuture += 1000;
resetText();
}
});
startTime.setonClickListener(new OnClickListener(){
public voID onClick(VIEw v) {
CountDownTimer wavetimer = new @R_697_6674@r(millisInFuture + 3000, 1000).start();
// ^ add 3 seconds.
}
});}
protected voID resetText() {
timedisplay.setText("Time left: " + millisInFuture / 1000);
}
public class @R_697_6674@r extends CountDownTimer {
private long millisActual;
public @R_697_6674@r(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
millisActual = millisInFuture - 3000;
}
@OverrIDe
public voID onTick(long millisUntilFinished) {
//v start showing the tick after 3 seconds.
if (millisUntilFinished <= millisActual) {
timedisplay.setText("Time left: " + millisUntilFinished / 1000);
}
}
@OverrIDe
public voID onFinish() {
timedisplay.setText("Countdown Finished");
}
}
@OverrIDe
public Boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
对CountDownTimer有疑问。我必须制作一个应用程序,允许用户每次单击按钮都将时间增加+1。然后,在停止单击按钮后,它会等待三秒钟,然后开始倒计时。
我在下面粘贴了我的代码。
我的问题是:我似乎无法使数字递增正常工作,但是似乎在停止递增数字(onStop())之后,它直接转到了(onFinish())。而不是转到OnTick()并每秒减少1。我已经尝试了多种方法来解决此问题,但被困住了。
谁能引导我朝正确的方向做事?任何帮助,将不胜感激。感谢你们!
public class MainActivity extends Activity {
Button incrementTime,startTime;
public TextView timedisplay;
public @R_697_6674@r 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);
startTime = (Button) findViewById(R.id.button3);
incrementTime.setText("Increment Time");
startTime.setText("Start");
timedisplay = (TextView) findViewById(R.id.mycounter);
timedisplay.setText("Time Left: " + millisUntilFinished);
wavetimer = new @R_697_6674@r (millisInFuture,1000);
incrementTime.setOnClickListener(new OnClickListener(){
int countdown = 01;
/**
* On click button Listner
* @return
*/
public void onClick(View v) {
millisInFuture++;
return;
}
});
startTime.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
wavetimer.start();
}
});}
@Override
public Boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main,menu);
return true;
}
public class @R_697_6674@r extends CountDownTimer {
public long millisInFuture;
private long countDownInterval;
public @R_697_6674@r(long millisInFuture,long countDownInterval) {
super(millisInFuture,countDownInterval);
}
@Override
public void onTick(long millisUntilFinished) {
millisUntilFinished--;
if (millisUntilFinished == 0){
wavetimer.onFinish();
}
else {
timedisplay.setText("Time Left: " + millisUntilFinished / 1000);
}
}
@Override
public void onFinish() {
timedisplay.setText("Countdown Finished");
wavetimer.cancel();
}
public void onStop() {
millisInFuture = millisInFuture + 1;
timedisplay.setText("Time Left: " + millisInFuturE);
}
我似乎无法弄清楚如何正确增加数字。我尝试了多种方法,并且一直在搞砸。不知道在哪里看。任何帮助,将不胜感激。感谢你们!
以上是大佬教程为你收集整理的递增countDownTimer Android全部内容,希望文章能够帮你解决递增countDownTimer Android所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。