ButterKnife 在AndroidStudio中的配置

github地址:github-butterknife

官網(wǎng)的方法怎么配都有坑。。。無語

正確姿勢如下

Android library使用butterknife配置

在library配置butterknife8.4.0需要在項目gradle,主工程gradle、library的gradle中分別,如下:

1、項目gradle

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.1'

        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' // 添加的部分
        classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0' // 添加的部分

    }
}

一、App主工程gradle配置:添加以下2段配置

1、添加插件

apply plugin: 'com.neenbedankt.android-apt'

2、添加引用

compile 'com.jakewharton:butterknife:8.4.0'
apt 'com.jakewharton:butterknife-compiler:8.4.0'
image.png

二、library的gradle配置:添加以下兩段配置

1、添加插件

apply plugin: 'com.jakewharton.butterknife'    //比主工程多了這個插件
apply plugin: 'com.neenbedankt.android-apt'

2、添加引用

compile 'com.jakewharton:butterknife:8.4.0'
apt 'com.jakewharton:butterknife-compiler:8.4.0'
image.png

每個library如果想使用butterknife使用,都要像第二點那樣去添加配置 真他媽的蛋疼

可以寫一個通用的common.gradle
然后只在通用common.gradle配置,所有的library都有了 不需要每個都單獨去配置


library使用注意

然后如果library要使用butterknife, 需要使用每個library對應(yīng)R2 每個library都會建立成一個R2文件

官方也有寫明


image.png

看是否能正常使用。可以查看app或者每個library build出來的文件


image.png

至于8.4版本??梢該Q成最新版本(待驗證,是測試了8.4版本)


使用參考:

Android Butterknife 8.4.0 使用方法總結(jié)

Android Butter Knife 框架——最好用的View注入

注意:
1.activity - 需要綁定在setContentView后面。否則查找不到資源

 setContentView(R.layout.activity_butterknife);
 ButterKnife.bind( this ) ;

2.fragment - 是否需要綁定 反綁定,

Unbinder unbinder ;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View rootView = super.onCreateView(inflater, container, savedInstanceState);
    unbinder = ButterKnife.bind(this, rootView);
    return rootView;
}

@Override
public void onDestroyView() {
    super.onDestroyView();
    unbinder.unbind();
}

3.自定義view - 只需要綁定對應(yīng)的總布局就行

    View view = inflate(context, getLayoutResId(), this);
    ButterKnife.bind(view, this);

4.綁定的參數(shù) 不能定義 private類型

5.Android中ViewPager + Fragment使用ButterKnife注解時出現(xiàn)空指針NullPoint的情況

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容