美文网首页
ButterKnife在lib中R2方式使用及配置

ButterKnife在lib中R2方式使用及配置

作者: 落叶随风花落入泥 | 来源:发表于2019-01-17 15:59 被阅读0次

    组件化开发时lib中使用ButterKnife插件View注入问题及解决方案

    1、直接在lib中集成ButterKnife时候问题如下

    使用的时候回报Attribute value must be constant,原因是:library中R.id.xxx 取R中变量的时候并非是final类型。

    2、解决方案

    配置ButterKnife

    1.在全局的build.gradle中dependencies配置如下代码
     classpath 'com.jakewharton:butterknife-gradle-plugin:8.5.0',版本号可以根据自己依赖版本 
     决 定,不是唯一。
    
    2.在lib build.gradle头部中添加如下代码:
    apply plugin: 'com.jakewharton.butterknife'
    
    3.在lib build.gradle 中添加如下依赖,版本根据自己依赖而定,不是唯一
     compile 'com.jakewharton:butterknife:8.8.1'
     annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
    
    4.在lib中是使用ButterKnife ,手动把@bind中的R改成R2,这时候会报红,我们进行rebuild即 可。
    

    注意点:library中switch-case的使用,在library中是不能使用switch- case 找id的,解决方法就是用if-else代替。


    1547711506(1).png

    使用switch-case会报错。
    使用if-else还有一点注意。如图


    1547711915(1).png

    这样就解决了butterKnife在lib中使用的问题。

    相关文章

      网友评论

          本文标题:ButterKnife在lib中R2方式使用及配置

          本文链接:https://www.haomeiwen.com/subject/geuidqtx.html