java - 如果条件满足,如何转到Android中的另一个 Activity ?

标签 java android android-intent android-manifest

我是android编程的初学者。

我正在制作一个测验应用程序,如果玩家回答正确,我会增加分数。如果玩家回答错误,我想在屏幕上显示游戏以及玩家的最终得分。我使用以下代码来更新每个正确答案的分数和级别,并使用错误答案启动 GameOverActivity.java:

boolean isCorrect(int answerGiven) {
    if (answerGiven == correctAnswer) {
        Toast.makeText(getApplicationContext(), "Well done!",
                Toast.LENGTH_LONG).show();
        correctTrueOrFalse = true;
    } else {
        correctTrueOrFalse = false;
    }
    return correctTrueOrFalse;
}

void updateScoreAndLevel(int answerGiven) {
    if (isCorrect(answerGiven)) {
        for (int i = 1; i <= currentLevel; i++) {
            currentScore = currentScore + i;
        }
        currentLevel++;
    }
    else {
        Intent k = new Intent (GameActivity.this, GameOverActivity.class); //#######
        startActivity(k); 
    }
}

但是每当我运行这个应用程序时,分数和级别都会根据每个正确答案成功更新,但是一旦我给出错误答案,应用程序就会崩溃并无法启动 GameOverActivity.class (游戏结束屏幕的代码) .

我的 GameOverActivity 文件似乎完全正确,我觉得问题出在 ###### 标记行中。请帮我解决问题。

编辑:我的 list 文件:

<?xml version="1.0" encoding="utf-8"?>

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        android:screenOrientation="portrait"
    </activity>
    <activity android:name=".GameActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
        android:screenOrientation="portrait"
    </activity>
</application>

是的,我看到我的 GameOverActivity 文件未在 list 中注册。我认为 android studio 自动在 list 中注册文件。那么如何注册呢?请记住,我在 GameActivity 和 GameOverActivity 文件中都有 Intent ,因此 list 可能必须相应更改。

最佳答案

将此添加到您的 list 文件中并重试:

<activity android:name=".GameOverActivity" />

您的所有 Activity 都必须在 list 文件中声明...

关于java - 如果条件满足,如何转到Android中的另一个 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38723388/

相关文章:

java - 如何查找 persistence.xml 处于 Activity 状态

c# - 有没有可以制作表单的Java IDE?

安卓 ImageView-16 :9

android - 卡在 Flag_Activity_Clear_Top

android - 向旧 Activity 发送数据

java - 单个应用程序引擎后端可以用于 java 和 android 前端吗?

java - 循环数组队列实现 : Which is the best way to resize a circular array?

android - 无法更新当前行 ListView ,我的代码在下面给出

android - Flutter - AppBar 底部小部件

java - 无法使用 SAF 检索自定义额外内容