Android - 开始正确活动的问题?

时间:2013-03-11 22:36:15

标签: android android-activity manifest launch

好的家伙我在这方面非常陌生,所以请耐心等待......我基本上正在阅读一本关于Android开发的书,并按照其中的教程进行操作。

这个应用程序有7个活动(1个名为QuizActivity,扩展了Activity,还有6个扩展了QuizActivity - 其中1个是QuizSplashActivity,我想在启动时启动)

然而,我对于默认活动似乎没有启动的原因感到非常困惑。我的清单有QuizSplashActivity的正确标签,QuizSplashActivity指向我创建的正确的.xml布局文件。但是,当我运行程序时,控制台会说:

[2013-03-11 17:19:47 - BeenThereDoneThat]启动活动com.example.beentheredonethat.QuizActivity on device emulator-5554

[2013-03-11 17:19:48 - BeenThereDoneThat] ActivityManager:开始:Intent {act = android.intent.action.MAIN cat = [android.intent.category.LAUNCHER] cmp = com.example.beentheredonethat /.QuizActivity}

以下是清单的应用部分:

 <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="QuizSplashActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="QuizActivity"></activity>
        <activity android:name="QuizGameActivity"></activity>
        <activity android:name="QuizHelpActivity"></activity>
        <activity android:name="QuizMenuActivity"></activity>
        <activity android:name="QuizScoresActivity"></activity>
        <activity android:name="QuizSettingsActivity"></activity>
    </application>

这是我的QuizSplashActivity,我想在启动时显示:

package com.example.beentheredonethat;

import android.os.Bundle;
import android.view.Menu;


public class QuizSplashActivity extends QuizActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.splash);
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_quiz, menu);
        return true;
    }


}

关于为什么这样做的任何想法?任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

我认为这个问题在宣布活动时很明显。您在活动名称前缺少

android:name=".QuizSplashActivity"

和compilator无法找到您的活动。尝试解决它,它应该工作。还尝试清理项目,重新启动Eclipse并尝试再次启动应用程序。