Android中的常見FC及解決方式整理

1java.lang.RuntimeException:Unable to start activityComponentInfo{org.yuchen.test/org.yuchen.test.MainActivity}: java.lang.ClassCastException:android.widget.Button cannot be cast to android.widget.ImageView

 

原因:

eclipse的ADT的bug

出現場景:

修改佈局而較少修改代碼

解決:

project->clean

 

2、導入開源項目庫是,控制檯提示錯誤:

[2014-08-1311:16:04 - EX10_使用ABS庫實現Actionbar]Found 2 versions of android-support-v4.jar in the dependency list,

[2014-08-1311:16:04 - EX10_使用ABS庫實現Actionbar]but not all the versions are identical (check is based on SHA-1 only at thistime).

[2014-08-1311:16:04 - EX10_使用ABS庫實現Actionbar]All versions of the libraries must be the same at this time.

[2014-08-1311:16:04 - EX10_使用ABS庫實現Actionbar]Versions found are:

[2014-08-1311:16:04 - EX10_使用ABS庫實現Actionbar]Path: F:\Users\longleg\workspaceHomeWork3\EX10_使用ABS庫實現Actionbar\libs\android-support-v4.jar

[2014-08-1311:16:04 - EX10_使用ABS庫實現Actionbar]Length: 621451

[2014-08-1311:16:04 - EX10_使用ABS庫實現Actionbar]SHA-1: 5896b0a4e377ac4242eb2bc785220c1c4fc052f4

[2014-08-1311:16:04 - EX10_使用ABS庫實現Actionbar]Path: F:\Users\longleg\workspaceHomeWork3\lib_ABS\libs\android-support-v4.jar

[2014-08-1311:16:04 - EX10_使用ABS庫實現Actionbar]Length: 271754

[2014-08-1311:16:04 - EX10_使用ABS庫實現Actionbar]SHA-1: 53307dc2bd2b69fd5533458ee11885f55807de4b

[2014-08-1311:16:04 - EX10_使用ABS庫實現Actionbar]Jar mismatch! Fix your dependencies

 

問題原因:

是由於android-supportV4包有多個版本,不同版本之間的代碼不同

解決方法:

1) 使它們相同

2) 使庫中的jar是最新版本,將項目中的supportV4刪除

 

3、在Fragment中增加有參數的構造方法,出現編譯錯誤提示

Multiplemarkers at this line

- Avoidnon-default constructors in fragments: use a default constructor plus

Fragment#setArguments(Bundle)instead

- Thisfragment should provide a default constructor (a public constructor with noarguments)

(com.example.ex_templete.BannerItemFragment)

 

 

4、在Fragment中無法聯想出getChildFragmentManager()

原因:

supportV4包較舊,更新爲較新版本

 

5[2014-08-2016:25:32 - Dex Loader] Unable to execute dex: Multiple dex files defineLcom/nostra13/universalp_w_picpathloader/cache/disc/DiscCacheAware;

[2014-08-2016:25:32 - EX40_使用UIL] Conversion to Dalvik formatfailed: Unable to execute dex: Multiple dex files define Lcom/nostra13/universalp_w_picpathloader/cache/disc/DiscCacheAware;

原因:

即引入了庫,libs目錄中同時也含有jar包

解決方法:

刪除一個

 

6. 使用UIL遇到的問題

08-2008:30:04.873: E/AndroidRuntime(20641): Caused by:java.lang.IllegalStateException: ImageLoader must be init with configurationbefore using

 

7. android.content.res.Resources$NotFoundException:String resource ID #0x4c

 

8. java.lang.IllegalStateException:The content of the adapter has changed but ListView did not receive anotification. Make sure the content of your adapter is not modified from abackground thread, but only from the UI thread. [in ListView(2131230826, classandroid.widget.ListView) with Adapter(class org.jrtt.fragment.CategoryFragment$CategoryAdapter)]

 

9java.lang.IllegalStateException:The specified child already has a parent. You must call removeView() on thechild's parent first.

 

原因:

一個child控件只能有一個parent佈局

解決:

先移除再添加

ViewGroupparent = (ViewGroup) layout.getParent();

parent.removeView(layout);

 

1008-2803:44:01.994: E/AndroidRuntime(5942): java.lang.IllegalStateException: Activityhas been destroyed

 

原因:Fragment每次添加都要重新創建,否則因爲狀態不同會導致問題

解決:add或replace之前,重新new xxxFragment()

 

11導入項目後運行失敗,提示

[2014-08-26 14:09:31 - Dex Loader] Unable toexecute dex: java.nio.BufferOverflowException. Check the Eclipse log for stacktrace.

[2014-08-26 14:09:31 - segmentedradios] Conversionto Dalvik format failed: Unable to execute dex: java.nio.BufferOverflowException.Check the Eclipse log for stack trace.

 

原因:

開發項目的eclipse版本較低,導入後項目配置問題

解決:

   說明: C:\Users\chencheng\Desktop\clipboard.png


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章