学习笔记-----ButterKnife

2023-05-16

  1. ButterKnife是一个专注于Android系统的View注入框架。
  2. ButterKnife.bind(this); ≈ 一切findViewById()。
  3. Fragment、Adapter中同样适用,ButterKnife.bind(this,view);
  4. 属性必须是一个常量。
  5. Fragment中需要在onDestroyView()中调用unbind()。
  6. zelezny插件
    • 右键目标View;
    • Generate;
    • Generate ButterKnife Injections;
    • 选择绑定。
  7. 绑定注解
    • @BindView—->绑定一个view;id为一个view 变量
    • @BindViews —-> 绑定多个view;id为一个view的list变量
    • @BindArray—-> 绑定string里面array数组;@BindArray(R.array.city ) String[] citys ;
    • @BindBitmap—->绑定图片资源为Bitmap;@BindBitmap( R.mipmap.wifi ) Bitmap bitmap;
    • @BindBool —->绑定boolean值
    • @BindColor —->绑定color;@BindColor(R.color.colorAccent) int black;
    • @BindDimen —->绑定Dimen;@BindDimen(R.dimen.borth_width) int mBorderWidth;
    • @BindDrawable —-> 绑定Drawable;@BindDrawable(R.drawable.test_pic) Drawable mTestPic;
    • @BindFloat —->绑定float
    • @BindInt —->绑定int
    • @BindString —->绑定一个String id为一个String变量;@BindString( R.string.app_name ) String meg;
  8. 事件注解
    • @OnClick—->点击事件
    • @OnCheckedChanged —->选中,取消选中
    • @OnEditorAction —->软键盘的功能键
    • @OnFocusChange —->焦点改变
    • @OnItemClick item—->被点击(注意这里有坑,如果item里面有Button等这些有点击的控件事件的,需要设置这些控件属性focusable为false)
    • @OnItemLongClick item—->长按(返回真可以拦截onItemClick)
    • @OnItemSelected —->item被选择事件
    • @OnLongClick —->长按事件
    • @OnPageChange —->页面改变事件
    • @OnTextChanged —->EditText里面的文本变化事件
    • @OnTouch —->触摸事件
    • @Optional —->选择性注入,如果当前对象不存在,就会抛出一个异常,为了压制这个异常,可以在变量或者方法上加入一下注解,让注入变成选择性的,如果目标View存在,则注入, 不存在,则什么事情都不做

资料参考:

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

学习笔记-----ButterKnife 的相关文章

随机推荐

  • centos使用代理下载--yum$pip

    pip 使用代理下载 如 xff1a 我们需要安装pyspark模块 可以通过如下命令 xff1a pip isntall pyspark proxy 61 http xxxxxx xxxx 其中 后面为代理 IP xff0c 冒号后面为端
  • (OK) WPS会一直卡住,无法操作

    http blog csdn net ztguang article details 51248822 http bbs wps cn thread 22575920 1 1 html 用的是Fedora23 4 4 6的内核 最新版的WP
  • ubuntu中面板恢复默认状态

    按下Alt 43 F2 xff0c 输入以下内容并按回车 gconftool recursive unset apps panel 再次按下Alt 43 F2 xff0c 输入以下内容并按回车 rm rf gconf apps panel
  • php中的SERVER变量

    xff0c SERVER 34 QUERY STRING 34 说明 xff1a 查询 query 的字符串 2 xff0c SERVER 34 REQUEST URI 34 说明 xff1a 访问此页面所需的URI 3 xff0c SER
  • ftp传输主动被动模式设置

    ftp setFileTransferMode ftp BINARY FILE TYPE ftp enterLocalPassiveMode Switch to passive mode Store 61 ftp storeFile des
  • Windows 2003 IIS下FTP设置方法

    解决方案 具体内容 桌面上右击 我的电脑 xff0c 执行 管理 命令 xff0c 在 计算机管理 窗口的左窗格中依次展开 系统工具 本地用户和组 目录 xff0c 单击选中 用户 选项 在右侧窗格中单击右键 xff0c 执行 新用户 命令
  • httpd服务

    httpd服务 文章目录 httpd服务1 httpd服务介绍2 常用的web程序3 httpd路径4 rpm安装httpd4 1 上传网站 5 源码安装httpd5 1 服务控制5 2 虚拟主机5 3 访问控制 6 生成证书 1 http
  • 阿里云服务器上部署zookeeper 3.6.3(3)- 集群模式篇

    伪集群模式 这里我们采用的是伪集群模式 xff0c 一台机器上三个节点 xff0c 集群模式是一台机器上一个节点 之所以称伪集群 xff0c 就是这台机器挂了 xff0c 集群也就没了 集群与伪集群的方式完全一样的 Zookeeper工作原
  • 网络爬虫有什么用?怎么爬?手把手教你爬网页(Python代码)

    导读 xff1a 本文主要分为两个部分 xff1a 一部分是网络爬虫的概述 xff0c 帮助大家详细了解网络爬虫 xff1b 另一部分是HTTP请求的Python实现 xff0c 帮助大家了解Python中实现HTTP请求的各种方式 xff
  • TSLint学习

    TSLint是typescript格式验证工具 安装 npm install tslint typescript span class hljs comment save dev span yarn span class hljs buil
  • C++从1~m数字中任取k个元素,求所有组合算法

    define MAXN 100 int a MAXN 定位数组 用于指示选取元素集合数组的位置 xff0c 选取元素集合数组0 起始 void comb int m int r int cur 指示定位数组中哪个成员正在移进 unsigne
  • 宏的本质以及宏(包括函数式宏) 没有返回值概念

    由什么问题而引申的 xff1a 字符串 XX ENM USB 中的XX是会变的 xff0c 想写一个宏定义来表示该字符串 首先 xff0c 想到用 define STR xff08 x xff09 x 34 ENM USB 形式 xff0c
  • windows环境下curl报错:Protocol "'http" not supported or disabled in libcurl

    原因 xff1a window命令行不支持单括号引用 解决方案 xff1a 将单括号删除 例如 xff1a curl http localhost 9200 pretty 在window命令行应改为 xff1a curl http loca
  • 关于Gson解析失败:Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 1 path $

    找了半天 xff0c 终于搞定了 xff0c 不得不说 xff0c 这是个坚强的bug 真的是个坚强的bug 一把辛酸了 xff0c xff0c 啥也不说了 xff0c 希望遇到一样坑的小伙伴 别放弃 xff0c 你们还有我 哈哈 解决办法
  • Python+pandas+每天股票涨了多少

    第一步 xff1a 得到某支股票历年来的交易数据 方法见 xff1a https blog csdn net zwy 0309 article details 108217342 在此 xff0c 我使用以下脚本得到股票 xff08 代码
  • 通过串口实时打印Android内核调试log信息

    一 前言 在调试 Android的Linux内核时 xff0c 我们往往会通过打开对应模块的调试Log来查看一些关键信息 通常我们可以使用一些简单的查看方法 xff0c 比如 xff1a 在pc端装有adb工具时 xff0c 使用adb s
  • Spring XML配置文件详解

    spring配置文件是用于指导Spring工厂进行Bean生产 依赖关系注入 xff08 装配 xff09 及Bean实例分发的 34 图纸 34 Spring框架的配置文件是基于xml的 xff0c Spring强大的功能依赖于类型繁多的
  • 两行命令解决ubuntu22.04安装网易云音乐后点击图标无反应的问题

    感谢知乎用户 64 拉布 xff1a https zhuanlan zhihu com p 518108518 1 终端中输入以下命令 xff1a span class token builtin class name cd span op
  • 数据库MVCC多版本并发控制原理

    MVCC实现原理 频繁的加锁会带来什么问题 xff1f 读数据的时候没办法修改 修改数据的时候没办法读取 xff0c 极大的降低了数据库性能 数据库是如何解决加锁后的性能问题的 xff1f MVCC 多版本控制实现读取数据不用加锁 xff0
  • 学习笔记-----ButterKnife

    ButterKnife是一个专注于Android系统的View注入框架 ButterKnife bind this 一切findViewById Fragment Adapter中同样适用 xff0c ButterKnife bind th