2013-03-29 12 views
10

Io uso un intento per puntare alla prossima attività ma quando clicco sul pulsante ottengo il seguente errore.... hai dichiarato questa attività nel tuo 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) 

Tuttavia il file esiste nel mio manifest. Ho omesso una riga nel mio manifest?

Ecco il file manifest.

<?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

più Un errore. Il nome del pacchetto dovrebbe essere qualcosa come com.mycube.test e non mycube.test –

risposta

13

Hai dichiarato questa attività al di fuori tag applicazione.

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

Fai così:

<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

Devo dichiarare tutte le attività in manifest? o solo alcuni? –

1

L'hai posizionato nel luogo sbagliato deve trovarsi all'interno del tag dell'applicazione. Tutti i tag <activity... /> devono essere posizionati sotto il tag <application.. />.

che dovrebbe essere simile a questo:

<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> 
Problemi correlati