java - 你如何使用计时器在 android 中制作秒表?

标签 java android stopwatch

我正在尝试为 Android 制作一个秒表作为计分板应用程序的一部分,问题是我不确定如何使用 chronometer 从时间开始、停止、然后恢复它停在或重置为 0。唯一的问题是我不确定如何正确使用 setBase()getBase() 方法。

public class MainActivity extends Activity {

    int homecount, awaycount, minutes, seconds;
    TextView home, away;
    Button stop, start, reset, addhome, subhome, addaway, subaway;
    TextView time;
    public boolean running;


    Chronometer MyChronometer;
    long startTime, stopTime;
    running = false;
    stopTime = 0;
    MyChronometer = (Chronometer) findViewById(R.id.timer);

    start.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            ((Chronometer) findViewById(R.id.timer)).start();
            startTime=System.currentTimeMillis();
            running = true;
        }
    });

    stop.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            ((Chronometer) findViewById(R.id.timer)).stop();
            stopTime=System.currentTimeMillis();
            running = false;
        }
    });

    reset.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {

        }
    });

最佳答案

您有变量 MyChronometer。每次你想开始或停止时使用它。

此外,在初始化之后您应该立即运行 MyChronometer.setBase(SystemClock.elapsedRealtime());。有关详细信息,请阅读文档:ChronometerSystemClock .

关于java - 你如何使用计时器在 android 中制作秒表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12994731/

相关文章:

c++ - 两个事件之间的计时持续时间

java - 第一个字母的样式

java - JOptionPane 多维数组输出

java - 如何将 'santa maria' 这样的字符串更改为 "Santa Maria' ?

android - list 合并失败 - 支持 :appcompat-v7:26. +

c# - 为什么 C# 中秒表的 ElapsedTicks 折叠?

java - Android minSdkVersion >= 19 需要 Realm.close() 吗?

java - 除两个微调器值

android - 尝试在 Android 的对话框中实现数据绑定(bind)

javascript - 使用clearTimeout()在Javascript中自动停止时间