首页 > 解决方案 > Activity.recreate() 导致 Butterknife 绑定失败 - 视图变为空

问题描述

到目前为止,ButterKnife (v8.8.1) 没有任何问题。Gradle 设置、绑定变量以及在活动之间取消绑定和移动都很好。但是现在Activity.recreate()在导致活动崩溃的活动之一中提到视图现在为空。

最初,我在项目级 gradle 中缺少以下行,但从未遇到过问题;尝试添加它,但添加和同步后问题尚未解决。

dependencies(){
    //For Butterknife
    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}

活动高级代码

Activity {
  private Activity mThisActivity;
  @BindView(R.id.txt) TextView view1;

onCreate() {
        mThisActivity = this;
        unbinder = ButterKnife.bind(this);
        view1.setText("Hello world!");
}

onDestroy() {
//
       unbinder.unbind();
}

sometMethod() {
    mThisActivity.recreate();  //After calling this line above view1 becoming null and setText producing NPE.
}
}

标签: androidbutterknife

解决方案


检查您是否缺少以下 Maven 中央存储库build.gradle

repositories {
   mavenCentral()    
}

推荐阅读