使用ButterKnife+Zelezny快速創(chuàng)建View對象并綁定控件

工具#####

AndroidStudio蝎困、ButterKnife、Zelezny

優(yōu)點#####

1倍啥、不需要手動去設置View禾乘,實例化控件。
2虽缕、監(jiān)聽方式非常簡單始藕,可以避免有時候忘記實例化監(jiān)聽問題。
3、適配器中綁定ViewHolder輕松實現伍派。

引入架包:#####

1江耀、使用androidStudio:File->Project Structure->選擇自己的model(APP)->Dependencies->+Library dependency 搜索butterknife->install 等待安裝完成提示重啟即可。

這種引入方法有可能報錯:
Error:(30, 0) Gradle DSL method not found: 'annotationProcessor()'
Possible causes:<ul><li>The project 'RetrofitRxjavaTest' may be using a version of Gradle that does not contain the method.
<a href="open.wrapper.file">Open Gradle wrapper file</a></li><li>The build file may be missing a Gradle plugin.
<a href="apply.gradle.plugin">Apply Gradle plugin</a></li>

解決辦法:修改gradle-wrapper.properties中 gradle的版本诉植。
gradle下載地址http://services.gradle.org/distributions

也有可能是點擊事件無反應:

解決辦法:在onCreate中重新調用監(jiān)聽
例:
@OnClick(R.id.bt) void submit(){ UToasts.showShort(this,"監(jiān)聽成功"); }
在OnCreate 中重新調用該方法
submit();

2祥国、在project 的build.gredle 文件中的dependencies標簽下添加:
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
并在module的build.gredle 文件中添加:
apply plugin: 'com.neenbedankt.android-apt'
并在module的build.gredle 文件中的dependencies標簽中添加:
compile 'com.jakewharton:butterknife:8.2.1' apt 'com.jakewharton:butterknife-compiler:8.2.1'可以

代碼:

// project中的build.gredle

    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.2'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'

    }
}


//model(app)中的build.gredle
apply plugin: 'com.android.application'
apply plugin: 'com.neenbedankt.android-apt'
......

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12
......
    compile 'com.jakewharton:butterknife:8.2.1'
    apt 'com.jakewharton:butterknife-compiler:8.2.1'
}

建議使用第二種方法

3、如果是eclipse直接去官網下載架包倍踪,引入到項目中就可以
ButterKnife官方地址:https://github.com/JakeWharton/butterknife

Zelezny插件安裝#####

setting->Plugins->搜索Zelezny更新即可。

使用方法:
新建一個activity后索昂,鼠標光標放在activity_main.xml上
右鍵Generate->Generate ButterKnife Injections勾選需要的控件即可
或者直接按住Alt+insert->Generate ButterKnife Injections


來自官方
ButterKnife綁定#####

ButterKnife中提供了很多類的綁定方法
可以通過@Bind查看其支持的類型建车。
![@Bind]S.png](http://upload-images.jianshu.io/upload_images/2858691-7a1c0a35d8856b22.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

監(jiān)聽綁定:

    //     單個監(jiān)聽bt
    @OnClick(R.id.bt)
    void submit() {
        UToasts.showShort(this, "監(jiān)聽成功");
    }

    //     多個監(jiān)聽
    @OnClick({R.id.et, R.id.tv})
    void submix(View view) {
        switch (view.getId()) {
            case R.id.et:
                UToasts.showShort(this, "輸入框被點擊了");
                break;
            case R.id.tv:
                UToasts.showShort(this, "tv被點擊了");
                break;
        }
    }

適配器Adapter中綁定:

 class ViewHolder {  
        @Bind(R.id.tv)  
        TextView tv;  
  
        public ViewHolder(View view) {  
            ButterKnife.bind(this, view);  
        }  

關于ButterKnife的使用還有很多,如有需要建議去查看官方文檔椒惨,這里只是簡單實現了開發(fā)中常用的方法缤至,能免去重復寫View,和實例化的煩惱康谆。

本文Demo地址:https://github.com/wapchief/android-CollectionDemo
正在逐漸完善领斥。歡迎提出建議。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末沃暗,一起剝皮案震驚了整個濱河市月洛,隨后出現的幾起案子,更是在濱河造成了極大的恐慌孽锥,老刑警劉巖嚼黔,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異惜辑,居然都是意外死亡唬涧,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門盛撑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來碎节,“玉大人,你說我怎么就攤上這事抵卫∈ɡ螅” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵介粘,是天一觀的道長轴合。 經常有香客問我,道長碗短,這世上最難降的妖魔是什么受葛? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上总滩,老公的妹妹穿的比我還像新娘纲堵。我一直安慰自己,他們只是感情好闰渔,可當我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布席函。 她就那樣靜靜地躺著,像睡著了一般冈涧。 火紅的嫁衣襯著肌膚如雪茂附。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天督弓,我揣著相機與錄音营曼,去河邊找鬼。 笑死愚隧,一個胖子當著我的面吹牛蒂阱,可吹牛的內容都是我干的。 我是一名探鬼主播狂塘,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼录煤,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了荞胡?” 一聲冷哼從身側響起妈踊,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎泪漂,沒想到半個月后响委,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡窖梁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年赘风,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片纵刘。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡邀窃,死狀恐怖,靈堂內的尸體忽然破棺而出假哎,到底是詐尸還是另有隱情瞬捕,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布舵抹,位于F島的核電站肪虎,受9級特大地震影響,放射性物質發(fā)生泄漏惧蛹。R本人自食惡果不足惜扇救,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一刑枝、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧迅腔,春花似錦装畅、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至锌雀,卻和暖如春蚂夕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背腋逆。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工婿牍, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人闲礼。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓牍汹,卻偏偏與公主長得像铐维,于是被迫代替她去往敵國和親柬泽。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內容