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

Dav*_*ave 5 android manifest launch android-activity

好吧,伙计们,我对此非常陌生,所以请耐心等待......我基本上正在阅读一本关于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>
Run Code Online (Sandbox Code Playgroud)

这是我要在启动时显示的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;
    }


}
Run Code Online (Sandbox Code Playgroud)

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

Sim*_*iak 1

我认为这个问题是你在声明活动时表现出来的。您在活动名称之前缺少点:

android:name=".QuizSplashActivity"
Run Code Online (Sandbox Code Playgroud)

并且编译器找不到您的活动。尝试修复它,它应该可以工作。另请尝试清理您的项目,重新启动 Eclipse 并尝试再次启动应用程序。