ButterKnife的使用以及不能自动生成代码问题的解决
ButterKnife的使用以及不能自动生成代码问题的解决
转载请注明出处:http://www.cnblogs.com/zhengjunfei/p/5910497.html
最近换了个工作刚入职,又赔了配环境(linux),并且根据老大的要求看了一些相关的知识点,其中在用到有个工具的时候与到了一些奇葩的问题,就是ButterKnife的不能自动生成代码的问题,查了好多资料和博客才查到,现在总结一下,以备同为码农的程序员不时之需.
大家知道在我们android编程的时候,经常会遇到findViewById的问题,尤其是当你的布局中的view较多的时候,initView是一个很耗时的过程,针对这一问题,ButterKnife可以完美解决,大大提高编程的效率,废话不多说,先上个图看一下效果吧:

怎么样,效果很炫吧?超方便的一个开源插件,下面我来介绍一下在项目中的配置过程:
方法一:在gradel里面直接搜
打开Android Studio的File->Project Structure
点击左边菜单栏的app选项,并且点击右边上方的Dependencies这个Tab选项,然后点击右上角"加号"选择"1 Library dependency",然后在弹出框中直接搜butterknife,就可以搜到,然后选择引入:


引入之后会在项目的build.grade文件下的dependencies下生成:compile 'com.jakewharton:butterknife:8.4.0'(位置1)这样一行代码,接下来你需要同样在dependencies 下面加入这样一行代码:apt 'com.jakewharton:butterknife-compiler:8.4.0' (位置2) 并在该文件根目录最上面加入这样一行代码:apply plugin: 'com.neenbedankt.android-apt'(位置3),并同时在整个Project的build.grade文件的buildscript的dependencies下面加入这样一行代码:classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'(位置4),然后点击编译器右上角的Sync Now同步修改:
项目的build.grade文件:

整个Project的的build.grade文件:

Sync Now:

然后最关键的一步:打开File->Settings->plugins,在搜索栏内搜索ButterKnife,要是没有引入该软件,就install,将这个软件打钩选中使用:(没有这一步不能自动生成代码)

然后是最后一步,在使用前在onCreate方法中(一定要在setContentVIew之后)调用ButterKnife.bind(this);然后就可以自动生成代码了,生成方式:选中布局文件的名字,右击选择Generate->Generate BUtterknife injecktions,会弹出来下面这个对话框:

然后在Variable Na....一栏修改默认的一些对象的一些名字,点击OK,就生成了相应的代码了.
最后看一下最终效果:

希望可以帮到大家.
ButterKnife的使用以及不能自动生成代码问题的解决的更多相关文章
- mybatis generator maven插件自动生成代码
如果你正为无聊Dao代码的编写感到苦恼,如果你正为怕一个单词拼错导致Dao操作失败而感到苦恼,那么就可以考虑一些Mybatis generator这个差价,它会帮我们自动生成代码,类似于Hiberna ...
- java如何在eclipse编译时自动生成代码
用eclipse写java代码,自动编译时,如何能够触发一个动作,这个动作是生成本项目的代码,并且编译完成后,自动生成的代码也编译好了, java编辑器中就可以做到对新生成的代码的自动提示? 不生成代 ...
- MyBatis自动生成代码示例
在项目中使用到mybatis时,都会选择自动生成实体类,Mapper,SqlMap这三个东东. 手头上在用的又不方便,找了下网上,其实有很多文章,但有些引用外部文件时不成功,也不方便,所以重新整理了下 ...
- MyBatis使用Generator自动生成代码
MyBatis中,可以使用Generator自动生成代码,包括DAO层. MODEL层 .MAPPING SQL映射文件. 第一步: 配置好自动生成代码所需的XML配置文件,例如(generator. ...
- mybatis 自动生成代码(mybatis generator)
pom.xml 文件配置 引入 mybatis generator <properties> <mysql.connector.version>5.1.44</mysql ...
- 【MyBatis】MyBatis自动生成代码查询之爬坑记
前言 项目使用SSM框架搭建Web后台服务,前台后使用restful api,后台使用MyBatisGenerator自动生成代码,在前台使用关键字进行查询时,遇到了一些很宝贵的坑,现记录如下.为展示 ...
- mybatis-generator : 自动生成代码
[参考文章]:mybatis generator自动生成代码时 只生成了insert 而没有其他 [参考文章]:Mybatis Generator最完整配置详解 1. pom <plugin&g ...
- mybatis-generator自动生成代码插件
mybatis自动生成代码(实体类.Dao接口等)是很成熟的了,就是使用mybatis-generator插件. 它是一个开源的插件,使用maven构建最好,可以很方便的执行 插件官方简介: http ...
- (Python)自动生成代码(方法一)
在写某个平台的自动化脚本时,笔者把全部的操作都封装到了两个类中,page.py和commonpage.py: page.py部分代码: class BasePage(object): ''' 页面基础 ...
随机推荐
- 【转载】CSS3的calc()使用
文章转载自 w3cplus http://www.w3cplus.com/ 原文链接:http://www.w3cplus.com/css3/how-to-use-css3-calc-function ...
- css笔记-文本样式
聊聊text-decoration.text-indent.text-transform.letter-spacing.word-spacing.vertical-align.下面是一些常用设置文本样 ...
- Android Parcelable理解与使用(对象序列化)
http://my.oschina.net/zhoulc/blog/172163 parcel定义介绍: android提供了一种新的类型:parcel(英文解释:包裹,小包),本类用来封装数据的容器 ...
- WPF 圖表控件 MetroChart
Torsten Mandelkow MetroChart包括以下: ColumnChart(ClusteredColumnChart,StackedColumnChart,StackedColumnC ...
- LeetCode 461. Hamming Distance (汉明距离)
The Hamming distance between two integers is the number of positions at which the corresponding bits ...
- PHP开发框架之YII框架学习——碾压ThinkPHP不是梦
前 言 JRedu 程序猿是一种慵懒的生物!能少敲一行代码,绝对不会多敲一个字符!所以,越来越多的开发框架应运而生,在帮助我们完成功能的同时,极大程度上也帮我们节省了人力物力,而且也提高了系统的 ...
- Linux库函数制作(静态库、动态库)
Linux库函数制作(静态库.动态库) 静态库与动态库 链接方式 链接分为两种:静态链接.动态链接 静态链接: 由链接器在链接时将库的内容加入到可执行程序中 静态链接的特点是: 优点: 对运行环境的依 ...
- TCP协议的滑动窗口协议以及流量控制
参考资料 http://blog.chinaunix.net/uid-26275986-id-4109679.html http://network.51cto.com/art/201501/4640 ...
- POJ 3468 A Simple Problem with Integers(树状数组区间更新)
A Simple Problem with Integers Time Limit: 5000MS Memory Limit: 131072K Total Submissions: 97217 ...
- canvas图形编辑器
原文地址:http://jeffzhong.space/2017/11/02/drawboard/ 使用canvas进行开发项目,我们离不开各种线段,曲线,图形,但每次都必须用代码一步一步的实现.有没 ...