由于项目需要,开始研究ThinkAndroid。
个人认为该框架的注解机制十分新颖,所以先研究这个,顺便学习下 Java 的annotation。
粗略的看了看,该机制在BaseActivity中初始化。而BaseActivity是所有Activity的基类。
对BaseActivity进行了代码剖离,发现在BaseActivity中在onCreate函数里启动注解机制。
暂时先搞清楚第二个,怎么绑定组件资源的:
我写了个小demo,MyAnno
InjectView.java
即注入成功了
需要说下我遇到的问题,在以上的基础上,如果将布局文件里的TextView 和ImageView两个布局换个位置,这时候再运行下,会出现空指针异常。
将Log向上翻会发现一个警告
即非法参数异常
定位到这一行
发现第一二行是对的,即获得注解的类型和ID(ImageView 2131230720)都是正确的,但是通过findViewById获取view的时候,Log第三行显示的却是TextView。
百思不得其解,最后无赖之下,清理一下项目,搞定。
我不知道是怎么回事,暂且推测为资源缓存吧。
posted on 2013-12-10 19:20 大龙 阅读(1596) 评论(0) 编辑 收藏 引用
Powered by: C++博客 Copyright © 大龙