ButterKnife用法

1.添加依賴(安裝插件 zelezny)

  implementation 'com.jakewharton:butterknife:8.8.1'
 annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'

2.綁定ButterKnife

一.在Activity 類中綁定 :
在onCreate()方法中進(jìn)行綁定 ButterKnife.bind(this);
必須在setContentView();之后綁定然评;且父類bind綁定后,子類不需要再bind

public class MainActivity extends AppCompatActivity{  
        @Override  
       protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
        //綁定初始化ButterKnife  
        ButterKnife.bind(this);  
    }  
}  

二.在Fragment中綁定
在onCreateView中綁定 ButterKnife.bind(this,view); 這里的this不能替換成getActivity
在onDestroyView()中解綁

  
public class ButterknifeFragment extends Fragment{  
  private Unbinder unbinder;  
  @Override  
  public View onCreateView(LayoutInflater inflater, ViewGroup container,  
                           Bundle savedInstanceState) {  
      View view = inflater.inflate(R.layout.fragment, container, false);  
      //返回一個Unbinder值(進(jìn)行解綁),注意這里的this不能使用getActivity()  
      unbinder = ButterKnife.bind(this, view);  
      return view;  
  }  
  /** 
   * onDestroyView中進(jìn)行解綁操作 
   */  
  @Override  
  public void onDestroyView() {  
      super.onDestroyView();  
      unbinder.unbind();  
  }  
}  

使用FindById

  ```
 View view = LayoutInflater.from(context).inflate(R.layout.thing, null);  
 TextView firstName = ButterKnife.findById(view, R.id.first_name);  
 ```

注解

@BindView()—->id
@BindViews()—->多個id
@BindString() 綁定string字符串
@BindBitmap( ) 綁定Bitmap資源
@BindColor( ) 綁定顏色值
@OnClick—->點(diǎn)擊事件
@OnLongClick( ) 長按事件
@OnCheckedChanged —->選中儒鹿,取消選中
@OnEditorAction —->軟鍵盤的功能鍵
@OnFocusChange —->焦點(diǎn)改變
@OnItemClick item—->被點(diǎn)擊(注意這里有坑凡辱,如果item里面有Button等這些有點(diǎn)擊的控件事件的拧簸,需要設(shè)置這些控件屬性focusable為false)
@OnItemLongClick item—->長按(返回真可以攔截onItemClick)
@OnItemSelected —->item被選擇事件
@OnLongClick —->長按事件
@OnPageChange —->頁面改變事件
@OnTextChanged —->EditText里面的文本變化事件
@OnTouch —->觸摸事件
@Optional —->選擇性注入寺旺,如果當(dāng)前對象不存在组去,就會拋出一個異常鞍陨,為了壓制這個異常,可以在變量或者方法上加入一下注解,讓注入變成選擇性的,如果目標(biāo)View存在,則注入, 不存在,則什么事情都不做

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末从隆,一起剝皮案震驚了整個濱河市诚撵,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌键闺,老刑警劉巖寿烟,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異辛燥,居然都是意外死亡筛武,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進(jìn)店門挎塌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來徘六,“玉大人,你說我怎么就攤上這事榴都〈猓” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵嘴高,是天一觀的道長炉擅。 經(jīng)常有香客問我辉懒,道長,這世上最難降的妖魔是什么谍失? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任眶俩,我火速辦了婚禮,結(jié)果婚禮上快鱼,老公的妹妹穿的比我還像新娘颠印。我一直安慰自己,他們只是感情好抹竹,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布线罕。 她就那樣靜靜地躺著,像睡著了一般窃判。 火紅的嫁衣襯著肌膚如雪钞楼。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天袄琳,我揣著相機(jī)與錄音询件,去河邊找鬼。 笑死唆樊,一個胖子當(dāng)著我的面吹牛宛琅,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播逗旁,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼嘿辟,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了片效?” 一聲冷哼從身側(cè)響起红伦,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎淀衣,沒想到半個月后色建,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡舌缤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了某残。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片国撵。...
    茶點(diǎn)故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖玻墅,靈堂內(nèi)的尸體忽然破棺而出介牙,到底是詐尸還是另有隱情,我是刑警寧澤澳厢,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布环础,位于F島的核電站囚似,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏线得。R本人自食惡果不足惜饶唤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望贯钩。 院中可真熱鬧募狂,春花似錦、人聲如沸角雷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽勺三。三九已至雷滚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間吗坚,已是汗流浹背祈远。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留刻蚯,地道東北人绊含。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像炊汹,于是被迫代替她去往敵國和親躬充。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內(nèi)容