Android之“Unfortunately,xxx has stopped!”


初學Android遇到Unfortunately,xxx has stopped!真是一件讓人頭疼的事情,下面就遇到的兩種可能情況給出解決方案。通常遇到的情況在於由一個Activity跳轉至另一個Activity時發生。

錯誤截圖如下:

當遇到這種情況后請先查看你的logcat日志。然后看一看是否屬於下面的情況。

--------------------------------------------------------------------------------

第一種:

其中一種錯誤日志包含有類似如下的語句:

android.content.ActivityNotFoundException: 

Unable to find explicit activity class {test.xxx/test.xxx.xxx}; have you declared this activity in your AndroidManifest.xml?

意思就是:

找不到Activity異常。

不能找到xxx類Activity,並且詢問你你是否已經聲明了你的Activity在AndroidManifest.xml文件中。這種情況下很有可能是你的某一個要跳轉的Activity沒有在Activity在AndroidManifest.xml中進行聲明。聲明格式如下:

  1. <application>  
  2.   
  3. <activity  
  4.   
  5. android:name="test.activity.ResultActivity"  
  6.   
  7. android:label="@string/nickname"/>  
  8.   
  9. </application>  

    其中test.activity.ResultActivity是你的Activity名稱,這里你最好使用eclipse的提示功能然后選擇對應的Activity名稱。當然你也可以縮寫為.ResultActivity這時要注意,那個點不能少。除此之外Activity的聲明要放在<application></application>中。

--------------------------------------------------------------------------------

    第二種:

    同樣的查看Logcat,如果日志中包括類似下面的提示:

    java.lang.RuntimeException: 

    Unable to start activity  ComponentInfo{xxx}: java.lang.NumberFormatException:  Invalid int:"factorFirStr"

    意思就是:運行時異常。

    不能夠讀取組件信息,大括號內是出現異常的組件。具體錯誤是數據格式異常,最后給出了無效的整型變量"factorFirStr"(當然這個變量在這里只是個例子)。

    那么解決的方法就是處理好這個變量。所以找bug是就從這個變量或者與這個變量相關的地方找。錯誤基本上可以肯定出現在這兒。看看是不是哪里的語法什么錯了,還是單詞拼寫錯誤,或是不該加引號的加了引號等等,這些大多是由於不信心造成。

    這里有時候還會提示......Invalid int: "null",這說明你的Activity在傳遞數據的過程中某個或幾個數據值為空類型,也就是值沒有傳遞成功,這是你可以考慮一下是不是Intent在傳遞過程中哪里出現了不對。

--------------------------------------------------------------------------------

第三種:

logcat顯示:

java.lang.RuntimeException:

Unable to instantiate activity ComponentInfo{test.androidstudy05/test.androidstudy05.ThirdActivity}: java.lang.ClassCastException: test.androidstudy05.ThirdActivity cannot be cast to android.app.Activity
提示為提供activity組件信息,不能夠啟動到android.app.Activity

問題可能是你要跳轉的類未繼承Activity,你可以嘗試檢查一下你的類是否繼承了Activity。在你繼承了類Activity之后你必須引入包android.app.Activity,而這里提示不能夠投射到android.app.Activity,也就是說你可能未繼承Activity。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM