【发布时间】:2021-11-12 09:11:52
【问题描述】:
所以基本上我在 Android Studio 中使用java 倒计时了一分钟。一旦计时器丰富“0”,我想更改活动并重置计时器。这样当我再次访问此活动时,计时器就会起作用。这是我的java 代码:
public class BeginAfter extends AppCompatActivity {
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_begin_after);
textView = findViewById(R.id.timer);
long duration = TimeUnit.MINUTES.toMillis(1);
new CountDownTimer(duration, 1000){
@Override
public void onTick(long l) {
String sDuration =
String.format(
Locale.ENGLISH,
"%02d",
TimeUnit.MILLISECONDS.toSeconds(l) -
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(l))
);
textView.setText(sDuration);
}
@Override
public void onFinish() {
//Reset and change activity
}
}.start();
}
}
这是我的xml 代码:
<TextView
android:id="@+id/timer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#d10e00"
android:textSize="37dp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.064" />
【问题讨论】:
-
您可以创建一个执行 CountDownTimer 工作的 android 服务。这意味着它将独立于您的视图,因此您可以随时访问您的计时器值而不会丢失数据。
标签: java xml android-studio