2010-08-20 51 views
18

我正在使用startActivity調用另一個活動,並收到「活動未找到例外」。這裏是我的代碼:Android - 未找到活動例外

TextView textView = (TextView) itemClicked; 
    String strText = textView.getText().toString(); 
    String key = "symptom"; 
    Intent mIntent = new Intent(symptomActivity.this, symptomRemedyActivity.class); 
    Bundle mBundle = new Bundle(); 
    mBundle.putString(key, strText); 
    mIntent.putExtras(mBundle); 
    startActivity(mIntent); 

這裏是logcat的輸出:

INFO/ActivityManager(59): Displayed activity com.android.homeopathy/.HomeopathyActivity: 5542 ms (total 39089 ms) 
INFO/ARMAssembler(59): generated scanline__00000077:03545404_00000004_00000000 [ 47 ipp] (67 ins) at [0x3283e0:0x3284ec] in 627000 ns 
INFO/ActivityManager(59): Starting activity: Intent { cmp=com.android.homeopathy/.symptomActivity } 
INFO/ActivityManager(59): Displayed activity com.android.homeopathy/.symptomActivity: 2706 ms (total 2706 ms) 
INFO/ActivityManager(59): Starting activity: Intent { cmp=com.android.homeopathy/.symptomRemedyActivity (has extras) } 

這裏是調試窗口輸出:

Thread [<1> main] (Suspended (exception ActivityNotFoundException)) 
Instrumentation.checkStartActivityResult(int, Object) line: 1404  
Instrumentation.execStartActivity(Context, IBinder, IBinder, Activity, Intent, int) line: 1378 
symptomActivity(Activity).startActivityForResult(Intent, int) line: 2817  
symptomActivity(Activity).startActivity(Intent) line: 2923 
symptomActivity$1.onItemClick(AdapterView, View, int, long) line: 67  
ListView(AdapterView).performItemClick(View, int, long) line: 284 
ListView.performItemClick(View, int, long) line: 3382 
AbsListView$PerformClick.run() line: 1696 
ViewRoot(Handler).handleCallback(Message) line: 587 
ViewRoot(Handler).dispatchMessage(Message) line: 92 
Looper.loop() line: 123 
ActivityThread.main(String[]) line: 4627  
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method] 
Method.invoke(Object, Object...) line: 521 
ZygoteInit$MethodAndArgsCaller.run() line: 868 
ZygoteInit.main(String[]) line: 626 
NativeStart.main(String[]) line: not available [native method] 

symptomRemedyActivity是在我的項目的另一項活動。有什麼我需要做的像導入症狀RemedyActivity,以便startActivity可以看到症狀RemedyActivity,以刪除此「活動未發現異常」?

+0

如果您使用Eclipse和/或看logcat的它會問你,如果你宣佈它在清單 – Falmarri 2010-08-20 17:51:36

+0

我使用日食與logcat的。 Logcat沒有說明清單。我在調試窗口輸出中列出了我的問題中的logcat輸出。 – 2010-08-20 18:03:41

回答

36

我知道這是舊的文章,但它是在眼下谷歌搜索的頂部,所以對於誰可以來這裏後:ActivityNotFound可以通過未處理的異常在onCreate在活動引起你想創造。我花了一段時間才注意到,我在那裏導致nullPointerException,因爲我沒有在尋找它。

+0

而這正是我製造混亂的原因:-) – nemesisfixx 2013-02-07 15:08:30

+1

如果可以的話,我會加註這個答案十幾次。當真正的問題出現在這裏時,我浪費了很多時間來檢查雙重,三重和四重檢查,以便正確地在應用程序清單中聲明我的活動。 – BradVoy 2013-11-16 01:53:07

33

您是否在AndroidManifest.xml文件中列出了活動(symtomRemedyActivity)?

+0

不,我沒有。我會嘗試的。 – 2010-08-20 17:43:12

+0

我在我的AndroidManifest.xml文件中添加了活動(symtomRemedyActivity),進行了刷新,但仍然出現錯誤。 – 2010-08-20 17:54:59

+0

這正是我剛纔的問題。 – Jahmic 2011-05-11 10:32:03

8

請確保您已經添加了以下用了一個小時了同樣的錯誤卡住清單文件

<activity 
     android:name=".YourActivity" 
     > 
    </activity> 
6

才意識到,我必須清理並重新構建。顯然,有些時候xml的變化並沒有反映出來,直到我們清理和重建。

0

如果您的兩個活動(symptomActivity和symptomRemedyActivity)位於不同的包中,則必須在Android Manifest中聲明包名稱。

0

我試圖用startActivity(intent)和彈出相同的異常啓動服務。要運行服務,使用startService(intent)

2

你肯定忘了申報清單文件AndroidManifest.xml中如下的活動(你需要注入你實際上得到的值):

<activity 
     android:name="symptomRemedyActivity" 
     android:label="@string/title_activity_ symptomRemedy" 
     android:parentActivityName="MainActivity" > 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="MainActivity" /> 
    </activity> 
0

不僅需要你加您在AndroidMainifest.xml活動是這樣的:

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

而且你應該確認你的包路徑。

例如,我的活動在com.demo包中。 AndroidMainifest的主管應該編寫相同的包路徑,如下所示:

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

除了Unfrog給出的答案外。

獲得NullPointerException的一種方法是執行代碼,該代碼指的是setContentView()之前的視圖部分。

0

Manifest中的多個應用程序標籤可能導致此問題。

0
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.salvopaverani.databes" 
android:versionCode="1" 
android:versionName="1.1" > 

在manifest文件中,我嘗試將android:versionName從1.0更改爲1.1,並且一切正常。

0

我有同樣的問題。從項目目錄中刪除bin和lib文件夾,重新創建libs文件夾和粘貼庫。開始工作的一切。這是v4 lib是罪魁禍首。

0

嘗試增加活動AndroidManifest.xml中

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