Android studio ButterKnife8.1.0空指针/相关配置及其简单使用

ButterKnife 是这两年比较流行的开源库,是一个View注入框架,其主要功能是代替findViewByid()方法。同时还能够快速的添加监听事件,能够更容易的实现MVVM模式,是非常实用的工具之一。

 

刚开始使用ButterKnife的时候很多人可能会遇到NullPointerException或者“找不到符号”,这皆是由于ButterKnife配置有误。下面我们来详细的来说明ButterKnife的配置

 

首先我们需要导入ButterKnife

如图

 

也可以在这里添加

 

同时还需要安装ButterKnife的插件

这里我已经安装好了,看起来有一些不同。没安装的时候先搜索然后点下面的按钮就会出来了

 

然后配置

 

 

 

注意,这里如果没有完成上面安装插件的步骤会无法识别apt()

 

还不理解的话,下面就贴出完整的build.gradle吧

 1 // Top-level build file where you can add configuration options common to all sub-projects/modules.
 2 
 3 buildscript {
 4     repositories {
 5         jcenter()
 6     }
 7     dependencies {
 8         classpath 'com.android.tools.build:gradle:2.1.0'
 9         classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
10         // NOTE: Do not place your application dependencies here; they belong
11         // in the individual module build.gradle files
12     }
13 }
14 
15 allprojects {
16     repositories {
17         jcenter()
18     }
19 }
20 
21 task clean(type: Delete) {
22     delete rootProject.buildDir
23 }

 

 

 1 apply plugin: 'com.android.application'
 2 
 3 android {
 4     compileSdkVersion 23
 5     buildToolsVersion "23.0.3"
 6 
 7     defaultConfig {
 8         applicationId "com.lcc.fjnu.damuvideobysohu"
 9         minSdkVersion 14
10         targetSdkVersion 23
11         versionCode 1
12         versionName "1.0"
13     }
14     buildTypes {
15         release {
16             minifyEnabled false
17             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
18         }
19     }
20 }
21 
22 buildscript {
23     repositories {
24         mavenCentral()
25     }
26     dependencies {
27         classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
28     }
29 }
30 
31 apply plugin: 'com.neenbedankt.android-apt'
32 
33 dependencies {
34     compile fileTree(include: ['*.jar'], dir: 'libs')
35     testCompile 'junit:junit:4.12'
36     compile 'com.android.support:appcompat-v7:23.3.0'
37     compile 'com.android.support:design:23.3.0'
38     compile 'com.jakewharton:butterknife:8.1.0'
39     apt 'com.jakewharton:butterknife-compiler:8.1.0'
40 }

 

 以上就是配置的过程

再说一点ButterKnife8.1.0的绑定方法是@BindView 之前的版本是@Bind,再之前是@InjectView.

具体的说明可以参照其官网(未墙) http://jakewharton.github.io/butterknife/

这里会给出一个简单的范例:

 1 public class MainActivity extends AppCompatActivity {
 2 
 3     @BindView(R.id.toolbar)
 4     Toolbar mToolbar;
 5     @BindView(R.id.tabs)
 6     TabLayout mtabs;
 7     @BindView(R.id.appbar)
 8     AppBarLayout mappbar;
 9     @BindView(R.id.container)
10     ViewPager container;
11     @BindView(R.id.fab)
12     FloatingActionButton fab;
13 ......}

 

不需要重新实例化以及findviewbyid(),代码变得更简洁明了 

 

转载于:https://www.cnblogs.com/Linccy/p/5621874.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
疫情居家办公系统管理系统按照操作主体分为管理员和用户。管理员的功能包括办公设备管理、部门信息管理、字典管理、公告信息管理、请假信息管理、签到信息管理、留言管理、外出报备管理、薪资管理、用户管理、公司资料管理、管理员管理。用户的功能等。该系统采用了MySQL数据库,Java语言,Spring Boot框架等技术进行编程实现。 疫情居家办公系统管理系统可以提高疫情居家办公系统信息管理问题的解决效率,优化疫情居家办公系统信息处理流程,保证疫情居家办公系统信息数据的安全,它是一个非常可靠,非常安全的应用程序。 管理员权限操作的功能包括管理公告,管理疫情居家办公系统信息,包括外出报备管理,培训管理,签到管理,薪资管理等,可以管理公告。 外出报备管理界面,管理员在外出报备管理界面中可以对界面中显示,可以对外出报备信息的外出报备状态进行查看,可以添加新的外出报备信息等。签到管理界面,管理员在签到管理界面中查看签到种类信息,签到描述信息,新增签到信息等。公告管理界面,管理员在公告管理界面中新增公告,可以删除公告。公告类型管理界面,管理员在公告类型管理界面查看公告的工作状态,可以对公告的数据进行导出,可以添加新公告的信息,可以编辑公告信息,删除公告信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值