2012-08-01 12 views
6

Za każdym razem, gdy próbuję uruchomić działalność FragmentActivity z Aktywności za pomocą Intencji, zbliżam się do siły. Oto kod z działalności:Uruchamianie FragmentAktywność z Aktywności z Intencją

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

A oto 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 jest zdefiniowana w manifeście poprawnie. Co tu się dzieje?

<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

Skąd wiadomo, że "OrgHome.class jest poprawnie zdefiniowany w manifeście"? – mfrankli

+0

Spójrz na edycję –

+0

Co to jest deklaracja "pakietu" na górze 'OrgHome.java'? – Eric

Odpowiedz

5

Zmień manifest:

Użyj tego jeśli OrgHome jest w tym samym miejscu co główną działalność

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

użytkowania tego czy był on w podkatalogu

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

Or określ całą ścieżkę

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

Dodałem klasę przy użyciu edytora WYSIWYG, więc mam wrażenie, że nie powinno to tak błądzić, ale dodam' .', ponieważ jest w tym samym folderze –

+0

definicja w manifest nie jest z natury zły. Jest to po prostu kombinacja tego, jak definiujesz to, jak nazywasz to, jak sądzę. ta odpowiedź jest zdecydowanie najlepszym sposobem, aby to naprawić. – mfrankli

+0

Czy w ogóle zmieniłeś ścieżkę pliku? Edytor WYSIWYG nie odwołuje się do zmian, jeśli przenosisz je między pakietami. – DeeV

Powiązane problemy