黄油刀 butterKnife:
自动findViewByID(),自动添加点击事件onClick();
步骤:
1.引入依赖包 butterknife:8.4.0 jakewharton:butterknife:8.4.0
2.安装插件 Android ButterKnife Zelezny
3.配置build
1、工程的gradle文件增加android-apt插件的classpathdependencies {...classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'}
2、模块的gradle文件头部,增加使用插件的声明:apply plugin: 'com.neenbedankt.android-apt'
3、模块gradle的依赖部分,增加依赖本身,及使用apt处理依赖脚本:compile 'com.jakewharton:butterknife:8.4.0'apt 'com.jakewharton:butterknife-compiler:8.4.0'
4.使用:
鼠标停在想要找控件的布局上,按Alt +Insert ,如图选择
Generate ButterKnife Injections 如下图:

勾选你想要添加点击事件的控件,点击Confirm确定。如下图:

就会生成如下标记的代码:

在listView中使用黄油刀:
在listView中使用黄油刀:
代码:
public class MyListAdapter extends BaseAdapter Context mContext;LayoutInflater inflater;ViewHolder holder;public MyListAdapter(Context mContext) {this.mContext = mContext;inflater = LayoutInflater.from(mContext);}public int getCount() {return 40;}@Overridepublic Object getItem(int position) {return null;}@Overridepublic long getItemId(int position) {return 0;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {if (convertView == null) {convertView = inflater.inflate(R.layout.mylist_layout, parent, false);holder=new ViewHolder(convertView);convertView.setTag(holder);}else{holder= (ViewHolder) convertView.getTag();}return convertView;}class ViewHolder {@BindView(R.id.iv)ImageView iv;@BindView(R.id.tv1)TextView tv1;@BindView(R.id.tv2)TextView tv2;ViewHolder(View view) {ButterKnife.bind(this, view);}}
}public class MainActivity extends AppCompatActivity {MyListAdapter adapter;@BindView(R.id.lv)ListView lv;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ButterKnife.bind(this);adapter=new MyListAdapter(this);lv.setAdapter(adapter);}@OnItemClick(R.id.lv)public void onItemClick( int position) {Toast.makeText(MainActivity.this, "这是第"+position+"个", Toast.LENGTH_SHORT).show();}}

黄油刀 butterKnife相关推荐

  1. 黄油刀——ButterKnife

    黄油刀--ButterKnife 前言: ButterKnife是一个专注于Android系统的View注入框架,以前总是要写很多findViewById来找到View对象,有了ButterKnife ...

  2. Android黄油刀ButterKnife配置

    AS版本:3.5 添加依赖: //下载最新黄油刀implementation 'com.jakewharton:butterknife:10.2.0'annotationProcessor 'com. ...

  3. Android之黄油刀(butterknife)

    1.添加黄油刀插件 根build添加: buildscript {repositories {jcenter()}dependencies {classpath 'com.android.tools. ...

  4. java黄油刀_黄油刀ButterKnife的使用

    1.ButterKnife是一个由 2.作用: @1通过使用@BindView 注释属性取消了findViewById 的调用更加方便 @2通过使用@OnClick和其他方法注释方法,为监听器消除匿名 ...

  5. IDEA的Android Studio配置黄油刀(butterknife)

    功能和介绍就不多说了,直接开始 1.打开Preferences 2.点击Plugins,选择Browse repositories- ,搜索Android ButterKnife Zelezny插件, ...

  6. 黄油刀 Butterknife的使用准备工作

    Butterknife不单单是导包就能使用的 在APP的build.gradle下 apply plugin: 'com.jakewharton.butterknife'android {...// ...

  7. Android框架之ButterKnife(黄油刀)

    Android框架之ButterKnife(黄油刀) Butterknife简介 ButterKnife是一个专注于Android系统的View注入框架,可以减少大量的findViewById以及se ...

  8. Android:butterKnife(黄油刀的简单使用

    butterKnife中文又名黄油刀,是一款Android视图的字段和方法绑定快速注解. 1.1首先把查看方式改变成Android. implementation 'com.jakewharton:b ...

  9. Android-黄油刀ButterKnife依赖注入源码,APT自动生成代码,利用javapoet语法搭建编译环境,建立MVP中空指针的保护机制

    基本环境搭建(auto&javapoet) 一.API采取背景,举例 主要为了解决客户端MVP架构中,V层和P层生命周期不同步时,生成空View保护性逻辑. 之前需要手写空View的代码,现在 ...

最新文章

  1. linux c显示日期,Linux C判断日期格式是否合法
  2. sklearn集成学习概述
  3. 牛客网【每日一题】5月19日题目精讲 比赛
  4. shishuo-CMS-master
  5. LabView学习笔记(四):动态数据类型
  6. Mac专业三维建模软件Modo 16
  7. deeplearning.ai——TensorFlow指南
  8. 关于X WindowSystem 、gnome、以及安装vncserver
  9. [Hadoop]Sqoop 1.4.2中文文档(二)之数据导出
  10. DeepStyle(第2部分):时尚GAN
  11. MS SQL数据库置疑解决办法
  12. 面向对象第三单元(地铁)总结
  13. 有道词典笔3新增功能扫读和点读是怎么集成的?
  14. 将bilibili缓存的m4s音视频文件合并(基于ffmpeg/含xml弹幕转ass/附exe程序)
  15. h5 video标签
  16. HTTPS证书转换成PEM格式
  17. 基于安卓的备忘录文件加密_苹果备忘录、锤子便签、印象笔记哪个更好用?
  18. Python画正方体
  19. yep chain千亿级航母起航——与同济大学达成战略合作
  20. sparksql insertinto 源码解析

热门文章

  1. 微信公众号PC端批量取关
  2. linux网卡永久生效命令,网卡别名的设置
  3. input框灰色提示字,输入时提示字消失
  4. 【无标题】react umi项目在谷歌,火狐,360极速模式打开正常,360兼容模式打开页面空白,报错SCRIPT1002:‘语法错误’,SCRIPT1003: 缺少 ‘:‘
  5. 电商扣减库存_做采购的您怎么能不懂电商仓储管理呢?
  6. AUTOSAR的现状和利弊
  7. c语言scanf错误c4996,VS2015怎么解决scanf函数的C4996错误?
  8. 关于思岚s1激光雷达ROS下的使用与测试
  9. 手机显示服务器异常解决方法,手机云盘服务器异常怎么办
  10. 不用插件在chrome上下载网页视频