您的位置:首页 > Web前端

Butterknife在library下使用

2017-09-11 18:11 127 查看
在刚做项目之前,一直都没有了解过组件化,都是在单一的模块下使用,感觉使用简单,就没有留意那么多了,知道在公司做项目时,才发现,原来在组件化下的Library中不能使用butterknife了,经过一番折腾,终于可以使用了,自butterknife8.0之后就可以使用了,原因在于library下的资源文件中定义id不是final类型了,,,,下面直接介绍如何使用吧

第一步:在Project的build.gradle文件中添加

dependencies {
classpath 'com.jakewharton:butterknife-gradle-plugin:8.8.1'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}


第二步:在各个module中的build.gradle添加

apply plugin: 'com.android.library' (在library中不用添加,本身就有)
apply plugin: 'com.jakewharton.butterknife' (在主项目中可以不添加)


在dependencies中添加

dependencies {
compile 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
}


第三步:在主项目中,使用Butterknife直接用R来引用资源

在library项目中使用Butterknife使用R2来引用资源,如下

这是在library中使用
class ExampleActivity extends Activity {
@BindView(R2.id.user)
EditText username;
@BindView(R2.id.pass)
EditText password;
...
}

这是在主项目中使用
class ExampleActivity extends Activity {
@BindView(R.id.user)
EditText username;
@BindView(R.id.pass)
EditText password;
...
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  library class