Java 如何使程序读取秒表,然后在时间到达该秒时在另一个文本视图框中打印语句

Java 如何使程序读取秒表,然后在时间到达该秒时在另一个文本视图框中打印语句,java,android,if-statement,timer,Java,Android,If Statement,Timer,我想做一个秒表。当我的秒表达到1分钟时,我想让它打印对账单,我怎样才能让它这样做 我正在使用android studio(java),下面是我的一些代码: Button btnStart,btnPause,btnLap; TextView txtTimer; Handler customHandler = new Handler(); LinearLayout container; TextView lt; long startTime=0L,timeinMilliseconds=0L,ti

我想做一个秒表。当我的秒表达到1分钟时,我想让它打印对账单,我怎样才能让它这样做

我正在使用android studio(java),下面是我的一些代码:

Button btnStart,btnPause,btnLap;
TextView txtTimer;
Handler customHandler = new Handler();
LinearLayout container;
TextView lt;

 long startTime=0L,timeinMilliseconds=0L,timeSwapBuff=0L,updateTime=0L;

Runnable updateTimerThread = new Runnable() {
    @Override
    public void run() {
        timeinMilliseconds =  SystemClock.uptimeMillis() -startTime;
        updateTime = timeSwapBuff+timeinMilliseconds;
        int secs=(int) (updateTime/1000);
        int mins=secs/60;
        secs%=60;
        int milliseconds=(int) (updateTime%1000);
        String s = "" + mins + ":" + String.format("%02d",secs) + ":" + String.format("%03d",milliseconds);
        txtTimer.setText (s);
        customHandler.postDelayed(this,0);

    }
};

如果您只想在X分钟后设置text,只需创建如下方法:

private void printText(int minutes) {
    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            //do you setText here
        }
    }, minutes * 1000);
}
然后像这样使用它:

printText(1);
更新:

这正是你要找的

它扩展了
TextView
,因此只需将计时器TextView替换为
Chronometer

 mChronometer = findViewById(R.id.chronometer2);
 mChronometer.setBase(SystemClock.elapsedRealtime());
 mChronometer.start();
 mChronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
    @Override
    public void onChronometerTick(Chronometer chronometer) {
        long elapsedMillis = SystemClock.elapsedRealtime() - mChronometer.getBase();
        int secs = (int) (elapsedMillis/1000);
        int mins = secs/60;
        if (mins == 1) {
            mChronometer.stop();
            anotherTextVeiw.setText("the 1 minute mark has passed");
        }
    }
});

使用这种方法,您不必处理
处理程序
可运行

我想在另一个新的textview上打印它box@TaimurShaikh你说印刷是什么意思?您的意思是更改
文本视图的文本吗?您可以通过
txtTimer.setText(myText)设置
TextView
如果要创建新的
文本视图
,则需要以编程方式创建并将其添加到视图中有两个文本视图框,一个是我的秒表,另一个只是空白框,当我的秒表计时1分钟时,我希望另一个文本视图框打印一条语句,例如,当我的秒表计时1分钟时,我希望另一个文本视图显示“1分钟标记已过”