【问题标题】:I want to change activity and reset timer after it finishes. Android Studio我想在完成后更改活动并重置计时器。安卓工作室
【发布时间】: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


【解决方案1】:

您通过将以下代码添加到您的活动来完成任务:

CountdownTimer.onFinish(){
CountdownTimer.cancel()
startActivity(new Intent(CurrentActivity.this, NextActivity.class));
}

请告诉它是否适合您

【讨论】:

  • 不,没有用! :( 感谢您的努力!
  • 我做了一些事情并且成功了!你的回答帮助了我!谢谢
  • 很好,请告诉我谁做了哪些更改,以便我可以将其添加到我的答案中!
  • 这是我的代码:@Override public void onFinish() { Intent intent = new Intent(BeginAfter.this, Begin.class);{ startActivity(intent); } }
  • 好的,谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-28
  • 2018-11-05
  • 1970-01-01
  • 1970-01-01
  • 2013-07-08
  • 2017-04-17
  • 2014-04-30
相关资源
最近更新 更多