好的家伙我在这方面非常陌生,所以请耐心等待......我基本上正在阅读一本关于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;
}
}
关于为什么这样做的任何想法?任何帮助将不胜感激。谢谢!
答案 0 :(得分:1)
我认为这个问题在宣布活动时很明显。您在活动名称前缺少点:
android:name=".QuizSplashActivity"
和compilator无法找到您的活动。尝试解决它,它应该工作。还尝试清理项目,重新启动Eclipse并尝试再次启动应用程序。