为什么ButterKnife.bind(this)之后View依然为null

秋风若影 发布于 2016/07/08 12:05
阅读 3K+
收藏 0

我在Activity中用ButterKnife的注解@BindView去绑定View,调用ButterKnife.bind(this)之后,View仍然为null,不知道是怎么回事,代码如下

@BindView(R.id.mainactivity_swipe_refresh_layout)
SwipeRefreshLayout swipeRefreshLayout;  
@BindView(R.id.mainactivity_listview)
ListView listView;
onCreate里的代码

super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
ButterKnife.bind(this); 
initView();
initView里的代码:

Log.d("TAG", "swipeRefreshLayout is null : " + (swipeRefreshLayout == null)); 
Log.d("TAG", "listView is null : " + (listView == null));
Logcat输出:

07-08 03:58:23.680 5408-5408/com.administrator.demo D/TAG: swipeRefreshLayout is null : true
07-08 03:58:23.681 5408-5408/com.administrator.demo D/TAG: listView is null : true

这是为什么啊!

求大神指教啊

加载中
0
新一jun
新一jun
你确定你绑定的视图id是对的?
秋风若影
秋风若影
是对的,我用findViewById()的话这两个都不为空
0
zero_zh
zero_zh

楼主解决了吗


秋风若影
秋风若影
没有
0
d
dldarren
应该是引用的类库不全造成的,我之前也有这个问题,是缺个库
0
秋风若影
秋风若影
apply plugin: 'com.android.application'


android {
    compileSdkVersion 23
    buildToolsVersion "24.0.0"


    defaultConfig {
        applicationId "com.administrator.demo"
        minSdkVersion 22
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}


dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile files('libs/jsoup-1.9.2.jar')
    compile files('libs/Volley.jar')
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.jakewharton:butterknife:8.1.0'
    compile 'com.android.support:design:23.4.0'
    compile 'com.cjj.materialrefeshlayout:library:1.3.0'
    compile 'com.android.support:support-v4:23.4.0'


    debugCompile 'com.squareup.leakcanary:leakcanary-android:1.4-beta2'
    releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta2'
    testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta2'
}
这是我的 build.gradle 里的内容
返回顶部
顶部