Android 在我的应用程序中实现计时器

Android 在我的应用程序中实现计时器,android,timer,Android,Timer,我正在开发一个游戏。我想在点击按钮时显示分数。但它应该只显示几秒钟。我想在我的应用程序中实现计时器。但我不知道如何实现。我在谷歌中搜索了。但结果让我困惑…下面是我的代码片段。请任何人帮助我 OnClickListener clickball=new OnClickListener() { @Override public void onClick(View v) { score=scorenumber.nextInt(9

我正在开发一个游戏。我想在点击按钮时显示分数。但它应该只显示几秒钟。我想在我的应用程序中实现计时器。但我不知道如何实现。我在谷歌中搜索了。但结果让我困惑…下面是我的代码片段。请任何人帮助我

        OnClickListener clickball=new OnClickListener() {

        @Override
        public void onClick(View v) {

            score=scorenumber.nextInt(9);
            id=v.getId();

             Log.v("", "u clicked me");
            if(id==R.id.ball2)
            {
                ball2.setText(Integer.toString(score));
            }
            else if(id==R.id.ball3)
            {
                ball3.setText(Integer.toString(score));
            }
            else if(id==R.id.ball5)
            {
                ball5.setText(Integer.toString(score));
            }
} }类似于

//Show score here

Timer timer = new Timer();
timer.schedule(new TimerTask() {
    public void run() {
            //hide score here
        }
}, 2000);

将在两秒钟后隐藏您的分数。

无需深入了解您的情况。每个视图都有postDelayed()方法,该方法将在设定的时间量(毫秒)后在UI线程中运行自定义代码。例如:

ball5.postDelayed(new Runnable(){
            @Override
            public void run() {
                ball5.setText("");
            }
        }, 3000);
将在3秒钟后清除“ball5”文本

另一个例子


您可以使用
倒计时()参考文档

例如:

新倒计时(50001000){


我想倒计时就是你需要的:http://developer.android.com/reference/android/os/CountDownTimer.html .实施起来很简单

 new CountdownTimer(30000, 1000) {

 public void onTick(long millisUntilFinished) {
     mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
 }

 public void onFinish() {
     mTextField.setText("done!");
 } 

}.start()

我试过这个…但问题是如果我使用这个功能,它只会在3秒钟后显示分数,而不会清除分数…你能发布代码吗?你需要先设定分数,然后打电话给Postdelayed谢谢你…非常感谢Alex…这对我真的很有帮助…谢谢你的帮助我知道你正确回答了我的问题…但在这种情况下,最可接受的答案是Alex的回答…对不起…无论如何,非常感谢你的帮助很高兴听到这个消息,我们是来帮助你的:)我知道你正确地回答了我的问题…但在这种情况下,最可接受的答案是亚历克斯的答案…对不起…无论如何非常感谢你的巨大帮助我知道你正确地回答了我的问题…但在这种情况下,最可接受的答案是亚历克斯的答案…对不起…无论如何,非常感谢你的巨大帮助
        @Override
        public void onTick(long millisUntilFinished) {}

        @Override
        public void onFinish() {
            //hide your score here after 5 secondes (5000/1000)
        }
    }.start();
 new CountdownTimer(30000, 1000) {

 public void onTick(long millisUntilFinished) {
     mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
 }

 public void onFinish() {
     mTextField.setText("done!");
 }