2013-03-29 15 views
10

Używam zamiaru wskazania następnej czynności, ale po kliknięciu przycisku pojawia się następujący błąd.... czy zadeklarowałeś tę aktywność w swoim AndroidManifest.xml

03-29 11:25:55.414: E/AndroidRuntime(3921): FATAL EXCEPTION: main 
\ 
**03-29 11:25:55.414: E/AndroidRuntime(3921): android.content.ActivityNotFoundException: 
Unable to find explicit activity class {mycube.test/mycube.test.Compte}; have you declared 
this activity in your AndroidManifest.xml?** 

03-29 11:25:55.414: E/AndroidRuntime(3921):  at 

android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1405) 

03-29 11:25:55.414: E/AndroidRuntime(3921):  at 

android.app.Instrumentation.execStartActivity(Instrumentation.java:1379) 


03-29 11:25:55.414: E/AndroidRuntime(3921):  at 

android.app.Activity.startActivityForResult(Activity.java:2827) 


03-29 11:25:55.414: E/AndroidRuntime(3921):  at 

android.app.Activity.startActivity(Activity.java:2933) 

03-29 11:25:55.414: E/AndroidRuntime(3921):  at mycube.test.Menu.onClick(Menu.java:143) 

03-29 11:25:55.414: E/AndroidRuntime(3921):  at 

android.view.View.performClick(View.java:2538) 

03-29 11:25:55.414: E/AndroidRuntime(3921):  at 

android.view.View$PerformClick.run(View.java:9152) 

03-29 11:25:55.414: E/AndroidRuntime(3921):  at 

android.os.Handler.handleCallback(Handler.java:587) 

03-29 11:25:55.414: E/AndroidRuntime(3921):  at 

android.os.Handler.dispatchMessage(Handler.java:92) 

03-29 11:25:55.414: E/AndroidRuntime(3921):  at android.os.Looper.loop(Looper.java:130) 

03-29 11:25:55.414: E/AndroidRuntime(3921):  at 

android.app.ActivityThread.main(ActivityThread.java:3687) 

03-29 11:25:55.414: E/AndroidRuntime(3921):  at 

java.lang.reflect.Method.invokeNative(Native Method) 

03-29 11:25:55.414: E/AndroidRuntime(3921):  at 

java.lang.reflect.Method.invoke(Method.java:507) 

03-29 11:25:55.414: E/AndroidRuntime(3921):  at 

com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842) 

03-29 11:25:55.414: E/AndroidRuntime(3921):  at 

com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 

03-29 11:25:55.414: E/AndroidRuntime(3921):  at dalvik.system.NativeStart.main(Native Method) 

Jednak plik istnieje w moim manifeście. Czy pominąłem linię w moim manifeście?

Oto mój plik manifestu.

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

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="mycube.test" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="17" /> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@android:style/Theme.Light.NoTitleBar" > 

     <activity 
      android:name=".Menu" 
      android:screenOrientation="portrait" 
      android:label="@string/app_name" > 
      <intent-filter> 

       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 

      </intent-filter> 
     </activity> 
    </application> 

    <uses-permission android:name="android.permission.INTERNET"></uses-permission> 

    <activity android:name=".Compte" android:screenOrientation="portrait" /> 
</manifest> 
+1

One more błąd. Twoja nazwa pakietu powinna być czymś w rodzaju com.mycube.test, a nie mycube.test –

Odpowiedz

13

Państwo zadeklarowało tę działalność poza tagu aplikacji.

<activity android:name=".Compte" android:screenOrientation="portrait" /> 

Zrób to tak:

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.Light.NoTitleBar" > 

    <activity 
     android:name=".Menu" 
     android:screenOrientation="portrait" 
     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=".Compte" 
     android:screenOrientation="portrait" /> 

</application> 

<uses-permission android:name="android.permission.INTERNET"></uses-permission> 
+4

Czy muszę zadeklarować wszystkie działania w manifeście? czy tylko niektóre? –

1

Umieszczono go w niewłaściwym miejscu, w którym powinien znajdować się znacznik aplikacji. Wszystkie twoje znaczniki <activity... /> powinny być umieszczone pod znacznikiem <application.. />.

powinno być tak:

<uses-sdk 
android:minSdkVersion="8" 
android:targetSdkVersion="17" /> 

<uses-permission android:name="android.permission.INTERNET"></uses-permission> 

<application 
android:icon="@drawable/ic_launcher" 
android:label="@string/app_name" 
android:theme="@android:style/Theme.Light.NoTitleBar" > 

<activity 
    android:name=".Compte" 
    android:screenOrientation="portrait" /> 

<activity 
    android:name=".Menu" 
    android:screenOrientation="portrait" 
    android:label="@string/app_name" > 

    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 

</activity> 

</application> 
Powiązane problemy