1. 程式人生 > >安卓異常處理(筆記)

安卓異常處理(筆記)

(1)java.lang.IllegalStateException: Observer [email protected] was not registered.

這個報錯在異常資訊裡是看不到關於程式裡有報錯的地方的,而這個報錯是因為程式不停的setAdapter();

處理方法是隻有當adapter為空時用再次使用這個方法。(呈現當手機在報錯頁面進入其他頁面然後鎖屏幾分鐘,然後開啟手機,最後返回報錯的頁面操作就會閃退。)

(2)java.lang.RuntimeException: Unable to start activity ComponentInfo{包名.MainActivity}: android.support.v4.app.Fragment$InstantiationException: Unable to instantiate fragment 包名.LocalFragment: make sure class name exists, is public, and has an empty constructor that is public

這個報錯是因為LocalFragment類有一個自定義帶引數的構造方法。(呈現與上一個錯誤是一樣的)。原因:是因為處於後臺太長時間後臺會釋放不適用的記憶體。返回這個頁面時系統建立物件是用預設的不帶引數的構造方法,而不是自定義的構造方法。所以出錯。

(3)java.lang.ClassCastException: android.support.v4.view.ViewPager$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams

這是一個在Activity中的兩個新增Fragment,而用ViewPager來划動。報錯原因是transaction.replace(ID,Fragment)中的ID是Viewpager的ID,而不是Viewpager中內容的ID,所以會報這個錯誤。