如何在 Android 中使用计时器?
How do I utilize a timer in Android?
我需要按一个时间间隔收集数据,这里的数据收集是用一个整数来模拟的。我似乎无法收集那个整数。我需要收集在单击一个按钮后开始并在单击另一个按钮时结束。有什么想法吗?
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);
}
});
}
}
问题可能出在使用 TextView.setText(int resid)
的行 sumText.setText(count)
上。这意味着它正在寻找等于 count
的 id,而不是显示 count 的值。您需要先将此值转换为整数:
sumText.setText(Integer.toString(count))
我需要按一个时间间隔收集数据,这里的数据收集是用一个整数来模拟的。我似乎无法收集那个整数。我需要收集在单击一个按钮后开始并在单击另一个按钮时结束。有什么想法吗?
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);
}
});
}
}
问题可能出在使用 TextView.setText(int resid)
的行 sumText.setText(count)
上。这意味着它正在寻找等于 count
的 id,而不是显示 count 的值。您需要先将此值转换为整数:
sumText.setText(Integer.toString(count))