開發時出現這個錯誤,通過搜索,發現網上提到的常見的三個情況,但都不是:
1.沒有在Manifest.xml 清單中註冊該activity,或者在創建完activity後,修改了包名或者activity的類名,而配置清單中沒有修改,造成不能實例化。
2.自己新建了一個包,而註冊時候依然用的默認包,例如,默認包是com.ghg.Dao包,你新建了一個com.ghg.DaoImpl包,並在此包中寫了個FirstActivity,在manifest.xml中注冊時你寫的是<activity android:name=".FirstActivity"/>,此時相當於你在的類註冊到了默認包中,系統在默認包中是找不到的,因爲你的FirstActivity在com.ghg.DaoImpl包下,所以你註冊時應寫成包名加類名,如:<activity android:name="com.ghg.DaoImpl.FirstActivity";這樣系統才能在指定的包中找到對應的類。
3.還用一種就是你的FirstActivity定義成了抽象類,這種情況好像一般人不會犯。
如果上述三種情況都考慮到了,還會拋出此異常,那麼就查看一下activity類裏是否同時存在這個類的構造函數和oncreate(),如果是,那麼刪除構造函數試試,並把初始化放到
oncreate()中試試。
最後,發現是另外一個問題:
android-support-v4.jar 這個包衝突
在我自己的工程中引用了這個包,而工程中引用的另一個包中也引用了此包,但兩個包的版本不一致
解決方法: 將兩個包同步,一致
真是蛋疼。。。。。