Java 当倒计时计时器达到0时启动新活动

Java 当倒计时计时器达到0时启动新活动,java,android,android-studio,android-intent,Java,Android,Android Studio,Android Intent,我正在制作一个简单的倒计时应用程序,但我很难启动一个新的活动。在onFinish() public void resetActivity() { Intent intent = new Intent(MainActivity.this, reset.class); startActivity(intent); } 当我的计时器点击0,而不是开始新的活动,它只是崩溃 我觉得它与查看有关,但我在网上找不到任何对我有帮助的东西。我遇到的大多数页面都使用按钮来启动新活动 我有这个新活动

我正在制作一个简单的倒计时应用程序,但我很难启动一个新的活动。在
onFinish()

public void resetActivity() {
    Intent intent = new Intent(MainActivity.this, reset.class);
    startActivity(intent);
}
当我的计时器点击0,而不是开始新的活动,它只是崩溃

我觉得它与查看有关,但我在网上找不到任何对我有帮助的东西。我遇到的大多数页面都使用按钮来启动新活动 我有这个新活动的原因只是为了切换到一个新的背景,并显示一条新消息和一个重新开始的重置按钮。如果有办法在计时器点击0时更改背景,我将不需要第二个活动

这是我的倒计时块:

public void start() {
    countdowntimer = new CountDownTimer(timeLeft, 1000) {
        @Override
        public void onTick(long x) {
            timeLeft = x;
            updateTimer();
        }

        @Override
        public void onFinish() {
            resetActivity();
        }
    }.start();
}

更改托管活动背景的一种方法是将
ImageView
添加到活动布局中:

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:adjustViewBounds="true"/>

有了这样的设置,您可以在计时器的onFinish中执行
imageView.setImageResource(R.drawable.myAwesomeDrawable)
(并像这样调用计时器,例如
new CountDownTimer(5000,1000)
)。但我不确定你在onTick的逻辑

当然,您不必将image设置为ImageView,而可以像前面提到的那样过渡到新活动。假设活动如您所说在清单中注册,它将正常工作


如果上述操作无效,则需要日志猫。

您的
重置活动是否已在清单中注册?“更改背景”(更改颜色)是什么意思?是的,我可以在清单中看到。我所说的更改背景是将新图像设置为新背景。注意两点:1)您应该添加崩溃日志。2) 你的问题似乎是如何设置不同的背景色等,而不是如何开始一项新的活动。我有一个新活动的原因是,用户不仅可以看到一个新的背景,还可以按下一个按钮来重置整个应用程序。主活动上的背景图像显示的是一杯啤酒,而背景活动显示的是一个空杯子,不确定这是否相关。
imageView
会覆盖任何android studio文本或按钮吗?如何确保图像实际设置在studio显示的任何文本或按钮后面?logcat显示此异常:java.lang.RuntimeException:无法启动活动组件信息{com.example.shotclock/com.example.shotclock.reset}:android.view.InflateException:com.example中的二进制XML文件行#2。shotclock:layout/activity#reset:com.example中的二进制XML文件行#2。shotclock:layout/activity#reset:Error-inflating类relativeLayoutLayoutLayout布局中有打字错误:relativeLayoutLayoutLayoutLayout。必须是RelativeLayout对于澄清的第二部分,您可以使用ConstraintLayout或RelativeLayout(更简单),将ImageView放在布局的第一个子级,然后打包其余部分-它们将显示在顶部。