如何在Android中使用计时器?

时间:2016-03-23 21:48:53

标签: java android timer intervals

我需要在一个时间间隔内收集数据,这里使用计数整数模拟数据收集。我似乎无法收集整数。我需要在单击按钮后开始收集,在单击其他按钮时结束。有什么想法吗?

package com.example.test.gothedistance;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import java.util.Timer;
import java.util.TimerTask;

public class MainActivity extends AppCompatActivity {

Button start, stop;
TextView sumText;
int count;
Timer t;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    start = (Button) findViewById(R.id.startButton);
    stop = (Button) findViewById((R.id.stopButton));
    sumText = (TextView) findViewById(R.id.sumTV);
    t = new Timer();
    count = 0;




    t.scheduleAtFixedRate(
            new TimerTask()
            {
                public void run()
                {
                    count++;

                }
            },0,2000);

  stop.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            t.cancel();
            sumText.setText(count);
        }
    });
}
}

1 个答案:

答案 0 :(得分:1)

使用TextView.setText(int resid)的行sumText.setText(count)可能会遇到问题。这意味着它正在寻找等于count的id,而不是显示count的值。您需要先将此值转换为整数:

sumText.setText(Integer.toString(count))