AndroidStudio 依赖 ButterKnife 出现的空指针异常_MrNoHere的博客-程序员宅基地

一 、 出现过程描述

       之前一直在ButterKnife 7.x版本,今日将依赖的版本升级为'com.jakewharton:butterknife:8.0.1',结果项目 运行报错,提示空指针异常NullPointerException,依次查看了build.gradle  文件 ,写法比较正确

二、 解决方法

    决定去到JakeWharton 的GitHub主页,看了看.Android之神就是不一般 ,界面非常的丰富!

    

    打开ButterKnife的项目主页, 可以看到版本升级为'com.jakewharton:butterknife:8.0.1'

    同时也告诉的Android开发的朋友们,怎么去引用

       



 2.3  具体到开发环境的解决

       点开 app模块的gradle编译文件build.gradle,加入下列代码

      apply plugin: 'com.neenbedankt.android-apt'
      在 dependencies中加入
      apt 'com.jakewharton:butterknife-compiler:8.0.1'
      compile 'com.jakewharton:butterknife:8.0.1'

   打开项目的gradle编译文件build.gradle文件,在

   在 dependencies中加入
   classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'


三 、大功告成,运行则不会报空异常了
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/MrNoHere/article/details/51850413

智能推荐

各种排序方法的实现及java实现_weixin_30444105的博客-程序员宅基地

排序一直以来都是让我很头疼的事,以前上《数据结构》打酱油去了,整个学期下来才勉强能写出个冒泡排序。由于下半年要准备工作了,也知道排序算法的重要性(据说是面试必问的知识点),所以又花了点时间重新研究了一下。  排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。  内排序有可...

DL4NLP——词表示模型(二)基于神经网络的模型:NPLM;word2vec(CBOW/Skip-gram)..._weixin_34009794的博客-程序员宅基地

本文简述了以下内容: 神经概率语言模型NPLM,训练语言模型并同时得到词表示 word2vec:CBOW / Skip-gram,直接以得到词表示为目标的模型 (一)原始CBOW(Continuous Bag-of-Words)模型 (二)原始Skip-gram模型 (三)word analo...

PHP openssl加密解密_b1829g2590d2216的专栏-程序员宅基地_openssl加密解密 php

https://www.cnblogs.com/sixiong/p/5885111.html原理:javascript加密PHP解密; 完全依赖openssl; openssl 是干嘛的它集成了众多密码算法及实用工具         rsa加密流程;(今天只讲众多加密方式中的一种)1. 在当前文件夹下生成一个包含 "公钥"和"私钥" 两部分内容的文本文件; 命名test....

为什么要进行傅立叶变换?傅立叶变换究竟有何意义?如何用Matlab实现快速傅立叶变换_zhiwei的专栏-程序员宅基地

写在最前面:本文是我阅读了多篇相关文章后对它们进行分析重组整合而得,内容非我所原创。在此向多位原创作者致敬!!!一、傅立叶变换的由来关于傅立叶变换,无论是书本还是在网上可以很容易找到关于傅立叶变换的描述,但是大都是些故弄玄虚的文章,太过抽象,尽是一些让人看了就望而生畏的公式的罗列,让人很难能够从感性上得到理解,最近,我偶尔从网上看到一个关于数字信号处理的电子书籍,是一个叫Ste

shell脚本引用java环境变量_如何在shell中使用环境变量_胖五叔的博客-程序员宅基地

本文参考LinuxTechi网站中这篇文章:How to use variables in shell Scripting(by Pradeep Kumar · Published July 27, 2014 · Updated August 4, 2017 )整理部分译出,同时有添加了部分自己的批注。系统定义的变量System Defined VariablesMeaningBASH=/bin/...

word-wrap与word-break的区别,以及无效情况_Ton555555的博客-程序员宅基地

两种方法的区别说明:1,word-break:break-all 例如div宽400px,它的内容就会到400px自动换行,如果该行末端有个英文单词很长(congratulation等),它会把单词截断,变成该行末端为conra(congratulation的前端部分),下一行为tulation(conguatulation)的后端部分了。2,word-wrap:break-word 例子与上面一样,但区别就是它会把congratulation整个单词看成一个整体,如果该行末端宽度不够显示整个单词,它会

随便推点

2.5-shell编程初步_weixin_33795833的博客-程序员宅基地

前情回顾:文件管理,用户管理,权限管理,bash的基础特性文件管理:cp,mv,rm用户管理:useradd,usermod,userdel,chfn,chsh,chagegroupadd,groupmod,groupdelpasswd,gp...

利用python操作access,sql server数据库_不得闲.闲忆居-程序员宅基地

 来源:http://john2007.javaeye.com/blog/309023 本文主要介绍了python如何利用 ADO访问windows平台下的数据库,比如access,sql server.(译者注:作者原文用的IDE是pythonwin,但我的pytonwin重装了两遍了就是用不起来,就算写个helloworld运行也崩掉,妈的,只好用IDLE了)Table of

彩色的验证码_月轩居士-程序员宅基地_彩色验证码

整个image.jsp页面代码:<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>  <%  String path = request.getContextPath();  String basePath = request.getScheme()+"://"+request.ge...

jQuery setTimeout传递字符串参数报错怎么办?解决方法_vip_linux的专栏-程序员宅基地

jQuery setTimeout传递字符串参数报错如何解决? 当你打算调用一些jQuery代码显示隐藏的一个元素,并调用setTimeout()在一段延时之后设置其HTML的内容: 完整代码: show next yes,I am the next function showNext(text){ setTimeout("$('#log').

UEFI与MBR区别_weixin_33752045的博客-程序员宅基地

 EFI与MBR启动的区别        大硬盘和WIN8系统,让我们从传统的BIOS+MBR模式升级到UEFI+GPT模式,现在购买的主流电脑,都是预装WIN8系统,为了更好的支持2TB硬盘 ,更快速的启动win8,预装系统都采取了GPT分区的格式,并且主板bios支持UEFI启动。MBR与GPT介绍:           MBR和GPT是两种不同分区形式,好比你买回来一块新硬盘...