compile 'com.jakewharton:butterknife:8.0.1'是最新的
插件也安装完成了import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
public class TestActivity extends Activity {
    @BindView(R.id.textView3)
    TextView textView3;    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_test);
        ButterKnife.bind(this);        textView3.setText("不明白");//这行报空指针
    }

解决方案 »

  1.   

    空指针这种问题,要自己检查代码,是不是布局中没有这个textview。
      

  2.   

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical" android:layout_width="match_parent"
        android:layout_height="match_parent">    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="New Text"
            android:id="@+id/textView3"
             />
    </LinearLayout>
      

  3.   

        compile 'com.jakewharton:butterknife:7.0.1'
    oncreate(){
    ButterKnife.bind(this);
    }
    @Bind(R.id.textView3)
    TextView tv;你要确定一下你的xml里面是否id也是textView3
      

  4.   

    2层的就是我的xml文件,其实就是最简单的布局,自动生成是没有问题的
      

  5.   

    你的包呢? 
    import android.widget.TextView;
      

  6.   


    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.TextView;import com.zgd.identify.R;import butterknife.BindView;
    import butterknife.ButterKnife;
    import butterknife.OnClick;gradle是2.0.0
    Android studio是2.1
      

  7.   

    7.0.1是Bind不是BindView
    还不行把你的Log日志贴出来
      

  8.   

    确定你的布局文件和控件id没有问题之后,你可以用findViewById试试然后在判断是不是注解的问题
      

  9.   

    8.0以上的是bindview
      

  10.   

    你是在线导butterknife-8.0.1还是网站找的butterknife-8.0.1
      

  11.   


    在Android studio里面直接找的
    log
                  Process: com.zcgd.shop, PID: 23664
                                                                   java.lang.RuntimeException: Unable to start activity ComponentInfo{com.zcgd.shop/com.zcgd.TestActivity}: java.lang.NullPointerException
                                                                       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2417)
                                                                       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2469)
                                                                       at android.app.ActivityThread.access$1100(ActivityThread.java:151)
                                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1362)
                                                                       at android.os.Handler.dispatchMessage(Handler.java:110)
                                                                       at android.os.Looper.loop(Looper.java:193)
                                                                       at android.app.ActivityThread.main(ActivityThread.java:5532)
                                                                       at java.lang.reflect.Method.invokeNative(Native Method)
                                                                       at java.lang.reflect.Method.invoke(Method.java:515)
                                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:891)
                                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:707)
                                                                       at dalvik.system.NativeStart.main(Native Method)
                                                                    Caused by: java.lang.NullPointerException
                                                                       at com.zcgd.TestActivity.onCreate(TestActivity.java:29)就是设置字体那儿
                                                                       at android.app.Activity.performCreate(Activity.java:5350)
                                                                       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1088)
                                                                       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2381)
                                                                       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2469) 
                                                                       at android.app.ActivityThread.access$1100(ActivityThread.java:151) 
                                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1362) 
                                                                       at android.os.Handler.dispatchMessage(Handler.java:110) 
                                                                       at android.os.Looper.loop(Looper.java:193) 
                                                                       at android.app.ActivityThread.main(ActivityThread.java:5532) 
                                                                       at java.lang.reflect.Method.invokeNative(Native Method) 
                                                                       at java.lang.reflect.Method.invoke(Method.java:515) 
                                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:891) 
                                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:707) 
                                                                       at dalvik.system.NativeStart.main(Native Method)
      

  12.   

    注意com.zcgd.shop/com.zcgd.TestActivity这里 你看下你的AndroidManifest.xml
      

  13.   

    你试试不用butterknife是不是也找不到控件呢。
      

  14.   

    配置可否完全呢?build.gradle发来看看。8.0.1用的是apt方式,和以前的配置都不同了
      

  15.   

    配置可否完全呢?build.gradle发来看看。8.0.1用的是apt方式,和以前的配置都不同了
    哦应该是这个的问题 等下去翻下文档,重新配置一下
      

  16.   

    问题算是解决了一半吧。
    8.0.1的小刀可能我的不合适。我昨天试用了图片上,我能搜到的版本,结果是7.0.1版本插件都不显示解决办法:
    我刚才直接在gradle中直接compile 'com.jakewharton:butterknife:7.0.1',不是用as搜到的版本,然后让它自己去找,
    结果就解决了。其他的我就不知道原因了,希望能有人解决感谢同志们的回答!周末愉快!
      

  17.   

    去 github主页找使用方式
      

  18.   

    这个更新到8.0.1了,按照github上的文档写就可以了。
    buildscript {
      repositories {
        mavenCentral()
       }
      dependencies {
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
      }
    }apply plugin: 'com.neenbedankt.android-apt'dependencies {
      compile 'com.jakewharton:butterknife:8.0.1'
      apt 'com.jakewharton:butterknife-compiler:8.0.1'
    }
      

  19.   

    我需要的只是注解findviewbyid,所以只是用7.0.1的就足够了
    在dependencies {
     compile 'com.jakewharton:butterknife:7.0.1'
    }有时间会去看看8.0.1
      

  20.   

    buildscript {
      repositories {
        mavenCentral()
       }
      dependencies {
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
      }
    }apply plugin: 'com.neenbedankt.android-apt'dependencies {
      compile 'com.jakewharton:butterknife:8.0.1'
      apt 'com.jakewharton:butterknife-compiler:8.0.1'
    }
      

  21.   

    buildscript {
      repositories {
        mavenCentral()
       }
      dependencies {
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
      }
    }apply plugin: 'com.neenbedankt.android-apt'dependencies {
      compile 'com.jakewharton:butterknife:8.0.1'
      apt 'com.jakewharton:butterknife-compiler:8.0.1'
    }
      

  22.   

    apply plugin: 'com.android.application'
    apply plugin: 'com.neenbedankt.android-apt'android {
        compileSdkVersion 23
        buildToolsVersion "23.0.2"    defaultConfig {
            applicationId "com.example.phc.recyclerveiwdemo"
            minSdkVersion 16
            targetSdkVersion 23
            versionCode 1
            versionName "1.0"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        testCompile 'junit:junit:4.12'
        compile 'com.android.support:appcompat-v7:23.3.0'
        compile 'com.android.support:recyclerview-v7:23.3.0'
        compile 'com.jakewharton:butterknife:8.0.1'
        compile 'com.android.support:cardview-v7:23.3.0'
        compile 'com.jakewharton:butterknife:8.0.1'
        apt 'com.jakewharton:butterknife-compiler:8.0.1'
    }我加了这三个就行了
      

  23.   

    我用findViewById就不会报错  一开始用注解怎么都报错,后面添加了以下内容就OK了
    1、在app的build.gradle中添加以下代码:
    apply plugin: 'com.neenbedankt.android-apt' compile 'com.jakewharton:butterknife:8.0.1'
        apt 'com.jakewharton:butterknife-compiler:8.0.1'
    2、在项目中的build.gradle中添加了
     dependencies {
            classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
        }
      

  24.   


    除此之外还需要 在整个工程的classpath中加入  classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' 上次忘了
    例如 buildscript {
        repositories {
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:2.0.0'
            classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
    }
    allprojects {
        repositories {
            jcenter()
        }
    }task clean(type: Delete) {
        delete rootProject.buildDir
    }
      

  25.   

    apply plugin: 'com.android.application'android {
        compileSdkVersion 23
        buildToolsVersion "23.0.2"    defaultConfig {
            applicationId "com.excellence.netmediaplayer"
            minSdkVersion 15
            targetSdkVersion 23
            versionCode 1
            versionName "1.0"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }buildscript {
        repositories {
            mavenCentral()
        }
        dependencies {
            classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
        }
    }apply plugin: 'com.neenbedankt.android-apt'
    dependencies {
        compile fileTree(include: ['*.jar'], dir: 'libs')
        testCompile 'junit:junit:4.12'
        compile 'com.android.support:appcompat-v7:23.4.0'
        compile 'com.jakewharton:butterknife:8.0.1'
        apt 'com.jakewharton:butterknife-compiler:8.0.1'

    }http://my.oschina.net/ximidao/blog/671324?fromerr=qcSNhvAH
    可以用的
      

  26.   

    8.0以后加两个依赖就可以了compile 'com.jakewharton:butterknife:8.4.0'
        compile 'com.jakewharton:butterknife-compiler:8.4.0'
      

  27.   

    加这2个就好了
     compile 'com.jakewharton:butterknife:8.5.1'
        annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'