2

私は非常に初心者です。ボタンをクリックするとカウンターを開始するクロノメーターがあります

    crono = (Chronometer) findViewById(R.id.crono);
begin= (Button) findViewById(R.id.begin);
begin.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View arg0) {

        crono.setBase(SystemClock.elapsedRealtime());
        crono.start();

every minute do something ////////

    }
});

毎分何かを行うにはどうすればよいですか? たとえば、1:00 ---> 何かをする 2:00 ---> 何かをする

どんな提案も高く評価されます。:)

4

1 に答える 1

1

を使用してみてくださいOnChronometerTickListener:

@Override
public void onClick(View arg0) {
    crono.setBase(SystemClock.elapsedRealtime());
    crono.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
        private long mTicks = 0;
        public void onChronometerTick(Chronometer chronometer) {
            if ((mTicks / 60) == 0) { // adapt period here
                // do something
            }
            mTicks++;
        }
    });
    crono.start();
}

クロノメーターが刻む頻度はわかりませんが、私の推測では毎秒です。それ以外の場合は、期間を調整する必要がある場合があります。

一定期間でない場合は、次のように時間を確認する必要があります。

@Override
public void onClick(View arg0) {
    crono.setBase(SystemClock.elapsedRealtime());
    crono.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
        private long mLastAction = 0;
        public void onChronometerTick(Chronometer chronometer) {
            now = System.getCurrentMillies();
            if (now - mLastAction > 60 * 1000) {
                // do something
                mLastAction = now;
            }
        }
    });
    crono.start();
}

たぶん、とにかく2番目の方が良いです。

于 2013-09-06T11:11:59.790 に答える