我正在开发一个游戏。我希望在按钮点击时显示得分。但它应该只显示几秒钟。我想在我的应用程序中实现计时器。但我知道如何实现。在google.but结果令我感到困惑...下面给出的是我的代码片段.plz任何人帮助我......
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));
}
} }
答案 0 :(得分:1)
像
这样的东西//Show score here
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
//hide score here
}
}, 2000);
将在两秒后隐藏你的分数。
答案 1 :(得分:0)
不需要在你的情况下如此深入。每个视图都有postDelayed()方法,它将在一段时间(以毫秒为单位)后在UI线程中运行自定义代码。例如:
ball5.postDelayed(new Runnable(){
@Override
public void run() {
ball5.setText("");
}
}, 3000);
将在3秒后清除“ball5”文本
另一个例子 ...
if(id==R.id.ball2)
{
ball2.setText(Integer.toString(score));
ball2.postDelayed(new Runnable(){
@Override
public void run() {
ball2.setText("");
}
}, 3000);
}
...
答案 2 :(得分:0)
您可以使用CountDownTimer();
参考文档,
示例:
new CountDownTimer(5000,1000){
@Override
public void onTick(long millisUntilFinished) {}
@Override
public void onFinish() {
//hide your score here after 5 secondes (5000/1000)
}
}.start();
答案 3 :(得分:0)
我认为CountDownTimer就是您所需要的: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!");
}
}开始();