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!");
}