這幾天查資料,DataBind暫且不談,簡化findViewById方法主要有三種:1、註解;2、另類寫法;3、已有框架。
一、註解,這是通過反射的原理,自已寫註解方法,可以參考該網址:http://www.cnblogs.com/Fndroid/p/5354644.html。
二、另類寫法,使用泛型可以簡化強制轉化的步驟,該方法在BaseActivity中使用findViewById,
參考網址:http://www.jianshu.com/p/d34d6731a127
三、已有框架,目前使用過兩種框架:
1、是org.droidparts.Injector,
步驟:(1)、創建BaseActivity繼承Activity,然後implementsInjectable;
(2)、再在onCreate()方法中添加如下兩條語句:onPreInject();Injector.inject(this);
(3)、之後在新activity中繼承BaseActivity,再使用註解方式聲明控件。例如:
@InjectView(id=R.id.account)
private EditText edtAccount;
缺點:好像必須要寫BaseActivity,否則註解後的控件會報null錯誤,還是沒找對方法?
這是本人目前正在使用的框架,比第一個簡單明瞭,不必寫BaseAcivity,用在了Fragment中。
配置方法,參考網址:https://www.cnblogs.com/anni-qianqian/p/6590647.html
使用方法:參考網址:http://www.jianshu.com/p/9ad21e548b69