由于項目需要,開始研究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 大龍 閱讀(1609) 評論(0) 編輯 收藏 引用
Powered by: C++博客 Copyright © 大龍