android studio返回计时器时间
时间: 2023-09-16 20:13:09 浏览: 115
以下是一个简单的计时器示例,它将在用户点击“开始”按钮时开始计时,并在用户点击“停止”按钮时停止计时,并在TextView组件中显示计时器的时间。
首先,在XML布局文件中添加一个TextView组件和两个Button组件,如下所示:
```
<TextView
android:id="@+id/timerTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="00:00:00"
android:textSize="48sp"
android:textStyle="bold" />
<Button
android:id="@+id/startButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Start"
android:onClick="startTimer" />
<Button
android:id="@+id/stopButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Stop"
android:onClick="stopTimer" />
```
接下来,在Activity类中声明一个计时器变量和一个布尔变量,以便我们可以在需要时停止计时器。我们还需要一个Handler对象来更新计时器的TextView组件。
```
public class MainActivity extends AppCompatActivity {
private int seconds = 0;
private boolean isRunning = false;
private Handler handler;
}
```
在onCreate方法中初始化Handler对象,并将其用于更新TextView组件。
```
handler = new Handler();
runTimer();
```
在runTimer方法中,我们使用postDelayed方法来延迟1000毫秒(1秒),然后递归调用runTimer方法。这将导致计时器在每个1秒钟更新一次。
```
private void runTimer() {
handler.postDelayed(new Runnable() {
@Override
public void run() {
int hours = seconds / 3600;
int minutes = (seconds % 3600) / 60;
int secs = seconds % 60;
String time = String.format("%02d:%02d:%02d", hours, minutes, secs);
TextView timerTextView = findViewById(R.id.timerTextView);
timerTextView.setText(time);
if (isRunning) {
seconds++;
}
handler.postDelayed(this, 1000);
}
}, 1000);
}
```
现在,我们需要实现startTimer和stopTimer方法。startTimer方法将设置isRunning变量的值,并启动计时器。stopTimer方法将停止计时器,并将seconds变量重置为0。
```
public void startTimer(View view) {
isRunning = true;
}
public void stopTimer(View view) {
isRunning = false;
seconds = 0;
}
```
现在,我们已经实现了一个简单的计时器,并且可以在TextView组件中看到时间。
阅读全文