2012-08-01 3 views
6

Ich erhalte immer dann eine Kraft, wenn ich versuche, eine FragmentActivity von einer Aktivität mit einer Absicht zu starten. Hier ist der Code von der Aktivität:FragmentActivity von Aktivität mit Intent starten

Intent intent = new Intent(getApplicationContext(), OrgHome.class); 
intent.putExtra("Username", organization_name.getText().toString()); 
startActivity(intent); 

Und hier ist der logcat:

08-01 16:52:45.823: E/AndroidRuntime(600): FATAL EXCEPTION: main 
08-01 16:52:45.823: E/AndroidRuntime(600): java.lang.NoClassDefFoundError: com.project3.organizations.OrgHome 
08-01 16:52:45.823: E/AndroidRuntime(600): at com.project3.organizations.MainActivity$1$1.mobDBResponse(MainActivity.java:76) 
08-01 16:52:45.823: E/AndroidRuntime(600): at com.mobdb.android.MobDBRequest.onPostExecute(MobDBRequest.java:78) 
08-01 16:52:45.823: E/AndroidRuntime(600): at com.mobdb.android.MobDBRequest.onPostExecute(MobDBRequest.java:1) 
08-01 16:52:45.823: E/AndroidRuntime(600): at android.os.AsyncTask.finish(AsyncTask.java:417) 
08-01 16:52:45.823: E/AndroidRuntime(600): at android.os.AsyncTask.access$300(AsyncTask.java:127) 
08-01 16:52:45.823: E/AndroidRuntime(600): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:429) 
08-01 16:52:45.823: E/AndroidRuntime(600): at android.os.Handler.dispatchMessage(Handler.java:99) 
08-01 16:52:45.823: E/AndroidRuntime(600): at android.os.Looper.loop(Looper.java:123) 
08-01 16:52:45.823: E/AndroidRuntime(600): at android.app.ActivityThread.main(ActivityThread.java:3683) 
08-01 16:52:45.823: E/AndroidRuntime(600): at java.lang.reflect.Method.invokeNative(Native Method) 
08-01 16:52:45.823: E/AndroidRuntime(600): at java.lang.reflect.Method.invoke(Method.java:507) 
08-01 16:52:45.823: E/AndroidRuntime(600): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
08-01 16:52:45.823: E/AndroidRuntime(600): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
08-01 16:52:45.823: E/AndroidRuntime(600): at dalvik.system.NativeStart.main(Native Method) 
08-01 16:52:48.053: I/Process(600): Sending signal. PID: 600 SIG: 9 

OrgHome.class ist definiert im Manifest richtig. Was ist denn hier los?

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

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="15" /> 
    <uses-permission android:name="android.permission.INTERNET"/> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name=".MainActivity" 
      android:label="@string/title_activity_main" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity android:name="OrgHome"></activity> 
    </application> 

</manifest> 
+0

Woher wissen Sie, dass "OrgHome.class im Manifest korrekt definiert ist"? – mfrankli

+0

Werfen Sie einen Blick auf die Bearbeitung –

+0

Was ist die 'Paket' Deklaration am Anfang von' OrgHome.java'? – Eric

Antwort

5

ändern das Manifest:

verwenden, wenn OrgHome ist an der gleichen Stelle wie MainActivity

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

verwenden, wenn es in einem Unterverzeichnis

<activity android:name=".sub.path.to.OrgHome" /> 

Or Spezifizieren Sie den gesamten Pfad

<activity android:name="entire.path.to.OrgHome" /> 
+0

Ich habe die Klasse mit dem WYSIWYG-Editor hinzugefügt, so dass ich denke, es sollte nicht so irren, aber ich werde das'. 'hinzufügen, da es im selben Ordner ist –

+0

die Definition in der Manifest ist nicht von Natur aus falsch. es ist nur die Kombination aus der Art und Weise, wie du es definierst, wie du es nennst, glaube ich. Diese Antwort ist definitiv der beste Weg, um es zu beheben. – mfrankli

+0

Haben Sie den Dateipfad überhaupt geändert? Der WYSIWYG-Editor führt keine Referenzänderungen durch, wenn Sie sie zwischen Paketen verschieben. – DeeV