Java如何每秒递增一次int 1,直到达到15

时间:2013-05-25 10:04:16

标签: java android time int

我想知道如何每秒向我的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秒后如果它仍未受影响我希望它也可以移回去。

4 个答案:

答案 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

做什么

我希望它可以帮助别人,可以欺骗倒计时的真正功能只是明智。