butterknife----黄油刀

article/2025/10/21 17:36:07
Butter Knife,专门为Android View设计的绑定注解,专业解决各种findViewById。
简单使用:

添加依赖:
Download
dependencies { compile 'com.jakewharton:butterknife:8.8.1' annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1' }


我们平常写一个控件,在Java类中找到这个控件的方法一般是这样
private TextView textview;
textview = (TextView)findviewbyid(R.id.textview);
只有经过这样的步骤,在后续开发中我们才能使用textview,这个操作的特点就是每次都要使用findviewbyid这个方法bangding控件。
但是如果我们使用Butter Knife后就可以省去findviewbyid这一步骤了,这样使得代码简洁很多。
这个要使用黄油刀中的@BindView。
在代码中就是@BindView(R.id.tv) TextView textView; 另外在使用黄油刀之前最好在setContentView
后面先添加上 ButterKnife.bind(this); 这样我们才可以使用@BindView(R.id.tv) TextView textView;
执行完此步骤我们在后续开发中就可以使用textview了,可以看到我们并没有执行findviewbyid这一操作就可以使用控件对象了。
我们在代码中看具体区别。
不使用Butter Knife


使用Butter Knife

这两种方法实现的功能是一样的,当我们写一个view的时候直观感觉两者差不多,但我们在项目开发中肯定不止一个view,这时候使用Butter Knife就非常简洁了,能使我们的开发更高效,因为不使用Butter Knife的话每个view就避免不了findviewbyid了。

以上是使用Butter Knife来绑定view,可以使我们的代码更加简洁,这是Butter Knife的一大功能,另外我们经常使用的还有@onclick,我们平常在开发当中避免不了给view等设置点击事件,平常不使用Butter Knife的话我们同样需要用到findviewbyid,而使用Butter Knife可以让点击事件变得非常简单,我们在代码中去看。
这是我们平常设置点击事件的方法

这是使用Butter Knife后设置点击事件的方法,不得不说真的很简单。


本身Butter Knife就已经大大的减少了我们日常开发的代码量,可谓是真的很好用,而且关于Butter Knife还有一款插件,可以自动生成相关代码,极大的提高了我们日常的开发效率。
关于Butter Knife的插件 “Android ButterKnife Zelezny”Zelezny插件(Android Studio)。只要在布局中写上'id',所有绑定的代码自动生成。厉害了
点击下载完成之后安装到Android studio


然后只要右键布局id上,选择Generate,点击Generate Butterknife Injections,该插件会从对应的布局中查找有id属性的View,然后会出现在对应的选择页面。点击Confirm即可。

小总结:
使用Butter Knife我们牢记@BindView和@OnClick这两个,因为我们开发中最常用的就是这两个,可以说Butter Knife就是帮我们省去了findviewbyid(当然还有很多功能),我们使用@BindView(R.id.view) TextView view就可以直接使用view了,使用@OnClick(R.id.view)紧接着就可以写点击事件了,再也不用findviewbyid了。


http://chatgpt.dhexx.cn/article/jb9IoUuD.shtml

相关文章

黄油刀使用方法(butterknife)

使用心得: 1.Activity ButterKnife.bind(this);必须在setContentView();之后,且父类bind绑定后,子类不需要再bind 2.Fragment ButterKnife.bind(this, mRootView); 3.属性布局不能用private or static 修饰,否则会报错 4.setConte…

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

butterKnife中文又名黄油刀,是一款Android视图的字段和方法绑定快速注解。 1.1首先把查看方式改变成Android。 implementation com.jakewharton:butterknife:10.2.3// 添加此依赖 annotationProcessor com.jakewharton:butterknife-compiler:10.2.3// 添加此规…

Android中ButterKnife(黄油刀)的详细使用

最近刚学会使用ButterKnife,真是超级好用,忍不住要分享给大家了。 写在前面:该文档使用7.0版本,8.0版本方法名有所改动,建议看官方文档,整体业务逻辑和原理没什么变动。 在android编程过程中,我…

黄油刀

【攻克Android (34)】Butter Knife 黄油刀 博客分类: 攻克Android系列 本文围绕以下四个部分展开: 一、注解式框架 二、Butter Knife 案例一 案例二:用 ListView 展示一个列表数据,每个Item里含有一个Button,可以…

ButterKnife黄油刀

ButterKnife黄油刀 1、强大的View绑定和Click事件处理功能,简化代码,提升开发效率 2、方便的处理Adapter里的ViewHolder绑定问题 3、运行时不会影响APP效率,使用配置方便 4、代码清晰,可读性强 怎么配置 在android Studio项…

Android版黄油刀简介

Butter Knife? 黄油刀是一个非常好的Android视图注入库。 黄油刀有助于减少许多样板代码(例如,重复的findViewById调用)。 如果您处理的活动具有大量的视图,那么您就会知道,将代码与“ findViewById”集群在一起时&a…

Android(ButterKnife)黄油刀使用详解

一、什么是ButterKnife黄油刀? 1.1ButterKnife中文又名黄油刀,是一款Android视图的字段和方法绑定快速注解框架。 1.2使用方法: 1.打开budild.gradle 文件 2.在dependencies 中添加 implementation com.jakewharton:butterknife:10.2.3// …

Android Butterknife(黄油刀) 使用方法总结

转载请标明出处:http://blog.csdn.net/donkor_/article/details/77879630 前言: ButterKnife是一个专注于Android系统的View注入框架,以前总是要写很多findViewById来找到View对象,有了ButterKnife可以很轻松的省去这些步骤。是大神JakeWha…

ArrayList$SubList.add导致的java.lang.StackOverflowError : null :慎用subList

项目场景: 上线后遇到的1个StackOverflowError问题,这里做个分析。通过日志文件可以看到: java.lang.StackOverflowError: nullat java.util.ArrayList$SubList.add(ArrayList.java:1047)at java.util.ArrayList$SubList.add(ArrayList.jav…

ArrayList和SubList的坑面试题

👨🏻‍🎓博主介绍:大家好,我是芝士味的椒盐,一名在校大学生,热爱分享知识,很高兴在这里认识大家🌟 🌈擅长领域:Java、大数据、运维、电子 &#x…

NetSuite Sublist解释

今朝汇编一下Sublist主题的知识点以备忘。 2个数据源类型 Related Record - 以Saved Search建立的关联记录;Child Record - 父子表; 1. Related Record Saved Search关键点 这种形式的Sublist是利用Saved Search作为Sublist的数据源,将某…

各位,请慎用 subList!原来这么多坑!!

点击关注公众号&#xff0c;Java干货及时送达 1. 使用Arrays.asList的注意事项 1.1 可能会踩的坑 先来看下Arrays.asList的使用&#xff1a; List<Integer> statusList Arrays.asList(1, 2); System.out.println(statusList); System.out.println(statusList.contains(1…

Java中List的subList()方法及使用注意事项

List<Object> list new Arraylist<>();List<Object> subList list.subList(0, 5);其中subList(0, 5)取得的是下标为0到4的元素,不包含下标为5的元素. java.util.List中的subList方法返回列表中指定的 fromIndex&#xff08;包括 &#xff09;和 toIndex&a…

Java 中 List.subList() 方法的使用陷阱

转载请注明本文出自 clevergump 的博客&#xff1a;http://blog.csdn.net/clevergump/article/details/51105235, 谢谢! 前言 本文原先发表在我的 iteye博客: http://clevergump.iteye.com/admin/blogs/2211979, 但由于在 iteye发表的这篇文章的某些渲染曾经出现过一些问题, 我…

【Java】List的subList方法

Java的容器类ArrayList很常用&#xff0c;旗下存在一个subList方法&#xff0c;是值得注意的。 subList方法仅能够取出此ArrayList的引用&#xff0c;即使其看起来&#xff0c;好像是取出一个ArrayList的子ArrayList。 其实不然&#xff0c;subList方法的返回值&#xff0c;只是…

Java中的subList方法

Java中的subList方法 今天看到了java中List中有个subList的方法&#xff0c;感觉很熟悉有没有&#xff1f;没错&#xff0c;在Stirng类中&#xff0c;也有个类似的方法&#xff1a;subString。 Stirng中的subString方法&#xff0c;官方解释是&#xff1a;返回字符串的子字符串…

Java中List集合的subList方法

目录 一、说明 二、测试 1、直接输出 2、向subList中添加元素再输出 3、 从subList中删除元素再输出 4、向list中添加元素再输出 5、从list中删除一个元素后再输出 ​ 6、向list中添加元素&#xff0c;输出list&#xff0c;然后将subList传入ArrayList生成新集合在输出…

你真的会用ArrayList的subList方法吗?

导语 在日常的开发中通常会遇到截取List的情况&#xff0c;而大多数会选择使用subList方法进行截取&#xff0c;但是好多人对这个方法的理解都只是停留在使用层面上&#xff1f;这篇文章会非常详细达到源码级别的讲解sublList方法&#xff0c;需要的朋友赶紧收藏起来吧。 关于…

Java SubList 类 Java subList方法 Java ArrayList$SubList 方法特点 SubList 用法

Java SubList 类 Java subList方法 Java ArrayList$SubList 方法特点 SubList 用法 一、概述 在java集合中&#xff0c;常用ArrayList类中&#xff0c;若需要对 list进行截取&#xff0c;可以使用subList方法&#xff0c;进行生成 SubList的内部类&#xff0c;那么 ArrayList 和…

使用ArrayList中的subList方法

集合是Java开发日常开发中经常会使用到的。在之前的一些文章中&#xff0c;我们介绍过一些关于使用集合类应该注意的事项&#xff0c;如《为什么阿里巴巴禁止在 foreach 循环里进行元素的 remove/add 操作》、《为什么阿里巴巴建议集合初始化时&#xff0c;指定集合容量大小》等…