android studio 使用butterknife 报空指针 异常

 

使用butterKnife 时,报错。

在使用butterknife 8.0以上的版本是,出现空指针错误,记录如下:

错误使用:

在写一个Demo 的时候使用了ButterKnife ,是直接从android  studio 上面下载导入的 jar 包

右击项目——>Open Module Settings ——>Dependencies ——>  +    ,然后搜索添加 

完成后,可以直接引用ButterKnife 。但是在运行项目的时候,报空指针异常的错误。然后搜索了一下,发现,build.gradle 中不仅

要引入,还要添加一些配置  ,最好按照github 上面介绍的来。

附 ButterKnife github地址    https://github.com/JakeWharton/butterknife   

 

正确使用:

1、在 app 的build.gradle 的 dependencies 中添加如下,:

       注: 这句话是添加一个 butterknife的插件,加不加都行

apply plugin: 'com.jakewharton.butterknife'
dependencies {
  implementation 'com.jakewharton:butterknife:8.8.1'
  annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
}

整体结构:

 

2、在Project 的build.gradle 中添加如下

buildscript {
  repositories {
    mavenCentral()
   }
  dependencies {
    classpath 'com.jakewharton:butterknife-gradle-plugin:8.8.1'
  }
}

结构如下:

然后重新编译项目就行了。

Android StudioButterKnife是一个用于简化Android开发中视图绑定的开源库。它可以帮助开发者通过注解方式快速地绑定视图资源,减少findViewById的使用,提高开发效率。 使用ButterKnife,首先需要在项目的build.gradle文件中添加依赖: ```groovy dependencies { implementation 'com.jakewharton:butterknife:10.2.1' annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.1' } ``` 然后,在需要使用ButterKnife的Activity或Fragment中,使用`@BindView`注解来绑定视图资源。 例如,在Activity中绑定一个TextView: ```java public class MainActivity extends AppCompatActivity { @BindView(R.id.textView) TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); // 视图绑定 // 使用textView textView.setText("Hello ButterKnife!"); } } ``` 在Fragment中使用类似的方式绑定视图资源。 需要注意的是,使用ButterKnife进行视图绑定时,必须在`setContentView()`之后调用`ButterKnife.bind(this)`来完成绑定。 除了`@BindView`注解外,ButterKnife还提供了其他注解,如`@OnClick`用于点击事件的绑定、`@Nullable`用于可为空的注解等。 值得一提的是,自从Android Studio 3.6版本起,Google推出了ViewBinding功能,它提供了类似ButterKnife的视图绑定功能,并且是官方支持的。如果使用最新版本的Android Studio,建议使用ViewBinding来代替ButterKnife
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值