android - 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.
}
}
解决方案
检查您是否缺少以下 Maven 中央存储库build.gradle
:
repositories {
mavenCentral()
}
推荐阅读
- android - 在 Android Studio 中创建叠加层
- javascript - React.Component.setState() 的参数在语法上是什么意思?
- python - 是否有等效于 np.empty 的张量流?
- python - Python中如何退出一些中间函数
- python-3.x - 如何在 Pandas Python 3 中删除具有多个字符串条件的列数据框?
- sql-server - 授予 SQL Server:应用程序池或 IUSR?
- heroku - 需要帮助了解使用 PG 备份导入 Heroku Postgres 数据库
- python - 字幕中的多种大小字体
- java - 如何在 SQL 查询中查找条件并将其 1=1 替换为 Java
- python - Django为列表中的*每个*项目排除查询集__in