Android studio 3.1集積ButterKnife 8.8.1問題のまとめ

2456 ワード

久しぶりにASをじっくり研究して、最近、新しいバージョンを更新して、Android Studio 3.1、発見、ButterKnife 8.81依然として問題があります!
私が一番よく使うのはButterKnifeで、プラグインのアドレスをブラウズしました.https://github.com/JakeWharton/butterknifeああ、8.8.1に更新しました.私はButter Knife 8を使っていました.2.1、その时もいくつかの问题が発生して、详しくは《AndroidはButterKnife 8.2.1空のポインタを使います》を见て、兴奋して公式サイトの上の最新の配置方法によって配置して、运行して、间违って、うん、本当に间违っていないで、また1回间违いました.注意深く公式サイトの上のと比べて、完全に同じで、しかしやはりわがままな間違いで、ああ、毎回アップグレードするのはすべて1部の血涙の史で、以下は私の配置の方式を提供します:
基本構成
  • Projectのbuild.gradleには、
  • というコードが追加されています.
    buildscript {
        repositories {
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:3.1.1'
            classpath 'com.jakewharton:butterknife-gradle-plugin:8.8.1'  //     
        }
    }
  • Appのbuild.gradleには、
  • というコードが追加されています.
    apply plugin: 'com.jakewharton.butterknife'
  • dependenciesに追加:
  • dependencies {
      implementation 'com.jakewharton:butterknife:8.8.1'
      annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
    }

    この中でダウンロードするときはimplementationを使い、compileを使ってもいいですが、Android Studio 3.0の中でcompileはすでに時代遅れで、まして、私は3.1のバージョンで、compileに等価なのはapiで、implementationとapiは基本的に一致して、いくつかの小さい違いがあって、みんなは関連資料を調べて、ここであまり説明しません.
    Butterknifeプラグイン:zelezny ASではこのプラグインを使用する自己ダウンロードはダウンロードされていません.このプラグインを使用すると、butterknifeを使用するのに便利です.また、プラグインを使用した後、dependenciesに直接依存を追加すればいいです.
    私のプロジェクトはもう正常に運行しています.驚いて驚きません.意外ではありません.意外です.
    注意事項
    1、 Activity      :ButterKnife.bind(this);   setContentView();    ;   bind   ,      bind。
    
    2、  Activity  (eg:Fragment、ViewHold)   : ButterKnife.bind(this,view);   this     getActivity()。
    
    3、 Activity         , Fragment     onDestroyView()      。
    
    4、  ButterKnife        ,   private or static   ,     。  : @BindView fields must not be private or static. (com.zyj.wifi.ButterknifeActivity.button1)
    
    5、setContentView()        。(           )
    
    6、  Activity           ,       MVC         Activity   ButterKnife.bind(this, activity),   Controller。
    
    7、  ButterKnife.bind(this,view)    view      。     View         view          inflate,          。  , XML inflate     view     onFinishInflate        。