我想知道如何每秒向我的int添加1,直到达到某个数字15为止。
但是我只想在按下按钮后int开始增加。
@Override
public void touchUp(InputEvent event, float x, float y,
int pointer, int button) {
login.addAction(Actions.moveTo(0, 310, 1));
loginClicked = true;
if(loginClicked == true && loginTimer == 15){
login.addAction(Actions.moveTo(0, 430, 1));
}
}
});
有我的代码,因为你可以看到我正在做一些移动,然后在15秒后如果它仍未受影响我希望它也可以移回去。
答案 0 :(得分:4)
您可以使用计时器:
int delay = 5000; // delay for 5 sec.
int period = 1000; // repeat every sec.
int count = 0;
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask()
{
public void run()
{
// Your code
count++;
}
}, delay, period);
答案 1 :(得分:4)
Timer _t,timer;
int _count=1;
TextView _tv
初始化计时器
_tv = (TextView) findViewById( R.id.textView1 );
_t = new Timer();
_t.scheduleAtFixedRate( new TimerTask() {
@Override
public void run() {
_count++;
runOnUiThread(new Runnable() //run on ui threa
{
public void run()
{
if(_count<=15)
{
_tv.setText(""+_count);
}
else
{
_t.cancel();
}
}
});
}
}, 1000, 1000 );
您可以使用上述计时器。但我建议你使用处理程序
使用处理程序
TextView _tv ;
Handler m_handler;//= new Handler();
Runnable m_handlerTask ;
_tv = (TextView) findViewById( R.id.textView1 );
m_handler = new Handler();
m_handlerTask = new Runnable()
{
@Override
public void run() {
if(_count<=15)
{
_tv.setText(""+_count);
_count++;
}
else
{
m_handler.removeCallbacks(m_handlerTask);
}
m_handler.postDelayed(m_handlerTask, 1000);
}
};
m_handlerTask.run();
答案 2 :(得分:2)
使用处理程序:
Handler handler = new Handler();
private int counter = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
handler.postDelayed(new Runnable() {
@Override
public void run() {
if (++counter < 15) {
handler.postDelayed(this, 1000L);
return;
}
handler.removeCallbacks(this);
}
}, 1000L);
}
答案 3 :(得分:0)
您还可以使用Countdown Timer
ontick
int = bob++;
元素String convertbob = String.valueof(bob);
TextViewName.setText(convertbob);
onFinish
以及你想在http://www.facebook.com/php
我希望它可以帮助别人,可以欺骗倒计时的真正功能只是明智。