我正在开发一款非常简单的卡牌WAR游戏APP,我希望在textview上显示(3,2,1 - > WAR!)。 我尝试过这种方法:
public void doCounting(){
for(int i=3;i>=0;i--)
{
if(i!=0){
waitTv.setText("Wait "+i);
SystemClock.sleep(1000);
}else{
waitTv.setText("WAR!");
}
}
}
它没有工作只是让我的应用程序卡住了三秒然后进入活动并放置" WAR!"在textView ..
答案 0 :(得分:0)
正确的方法是使用Thread.sleep(long milliseconds)
,虽然这种方法可能会抛出异常,所以你需要在try中包围它并像这样捕获。
try{
Thread.sleep(3000);
}catch(Exception e){
e.printStackTrace();
}
答案 1 :(得分:-1)
您可以使用此代码:
CountDownTimer countDownTimer = new CountDownTimer(3, 1000){
@Override
public void onTick(long millisUntilFinished) {
waitTv.setText("Wait " + millisUntilFinished/1000);
}
@Override
public void onFinish() {
waitTv.setText("WAR!");
}
}.start();
答案 2 :(得分:-1)