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


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