2013-05-07 94 views
0

我開始爲我的android應用程序創建一個新的活動,並且當我測試它時,我遇到了一個問題。當我觸摸按鈕進入新的活動時,該應用程序將崩潰併發送回主要活動。簡單的Android活動導致崩潰

這是我與轉到新的活動按鈕活動:

package brian.android.testgame; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 

public class BeginnerLevelSelector extends Activity { 

protected void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.beginner_level_selector); 

    Button level1button = (Button) findViewById(R.id.bl1); 

    final Intent level1activity = new Intent(this, Level1Activity.class); 

    level1button.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 
      startActivity(level1activity); 
     } 
    }); 

} 

} 

這裏是我的活動時,我嘗試啓動(即崩潰是的,這是所有我輸入之前,我發現這個問題)

package brian.android.testgame; 

import android.app.Activity; 
import android.os.Bundle; 

public class Level1Activity extends Activity { 

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main_menu); 

} 

} 

這裏是我的日誌,當應用程序崩潰:

05-06 21:07:29.085: E/AndroidRuntime(20391): FATAL EXCEPTION: main 
05-06 21:07:29.085: E/AndroidRuntime(20391): android.content.ActivityNotFoundException: Unable to find explicit activity class {brian.android.testgame/brian.android.testgame.Level1Activity}; have you declared this activity in your AndroidManifest.xml? 
05-06 21:07:29.085: E/AndroidRuntime(20391): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1634) 
05-06 21:07:29.085: E/AndroidRuntime(20391): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1510) 
05-06 21:07:29.085: E/AndroidRuntime(20391): at android.app.Activity.startActivityForResult(Activity.java:3244) 
05-06 21:07:29.085: E/AndroidRuntime(20391): at android.app.Activity.startActivity(Activity.java:3351) 
05-06 21:07:29.085: E/AndroidRuntime(20391): at brian.android.testgame.BeginnerLevelSelector$1.onClick(BeginnerLevelSelector.java:22) 
05-06 21:07:29.085: E/AndroidRuntime(20391): at android.view.View.performClick(View.java:3549) 
05-06 21:07:29.085: E/AndroidRuntime(20391): at android.view.View$PerformClick.run(View.java:14400) 
05-06 21:07:29.085: E/AndroidRuntime(20391): at android.os.Handler.handleCallback(Handler.java:605) 
05-06 21:07:29.085: E/AndroidRuntime(20391): at android.os.Handler.dispatchMessage(Handler.java:92) 
05-06 21:07:29.085: E/AndroidRuntime(20391): at android.os.Looper.loop(Looper.java:154) 
05-06 21:07:29.085: E/AndroidRuntime(20391): at android.app.ActivityThread.main(ActivityThread.java:4944) 
05-06 21:07:29.085: E/AndroidRuntime(20391): at java.lang.reflect.Method.invokeNative(Native Method) 
05-06 21:07:29.085: E/AndroidRuntime(20391): at java.lang.reflect.Method.invoke(Method.java:511) 
05-06 21:07:29.085: E/AndroidRuntime(20391): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
05-06 21:07:29.085: E/AndroidRuntime(20391): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
05-06 21:07:29.085: E/AndroidRuntime(20391): at dalvik.system.NativeStart.main(Native Method) 
+0

顯然在日誌陳述,聲明你'Level1Activity'在'manifest.xml'。 – Aprian 2013-05-07 01:18:52

+0

我的天啊。日誌說'你有沒有在你的AndroidManifest.xml中聲明這個活動?' – midhunhk 2013-05-07 04:04:38

回答

1

在日誌:

.ActivityNotFoundException:無法找到明確的活動類 {brian.android.testgame/brian.android.testgame.Level1Activity};

表示您忘記註冊Level1Activity活動AndroidManifest.xml。所以宣佈它作爲AndroidManifest:

<activity android:name=".Level1Activity" /> 
+0

謝謝!我不能相信我錯過了這一點。 – user2154477 2013-05-07 01:21:05

1

在AndroidManifest.xml中添加活性

<activity 
    android:name=".Level1Activity" > 
    <intent-filter> 
     <action android:name="android.intent.action.VIEW" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter> 
</activity> 
0

你需要聲明你的活動在manifest.xml文件:

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

一好的提示是,每當你創建一個新的活動時,立即在清單文件中聲明它以避免更多的錯誤。 :d

乾杯,