超级简单的ButterKnife使用技巧

Android Studio 结合 ButterKnife Zelezny 高效使用 Butterknife(黄油刀) 正文: 这里给大家提供一下butterknife的jar包下载,直接copy到libs包下,添加到项目中就好了。点击打开链接 这里我们就按Android studio 的案例来演示一下。 第一 阅读详情

简单明了,步骤如下:

1、框架的导入

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">eclipse:官网下载jar包,复制到lib文件夹</span>

Android Studio: File->Project Structure->Dependencies->Library dependency 搜索butterknife即可

2、使用情景

①、Activity和View的绑定

class BaseActivity extends Activity {
  @BindView(R.id.title) TextView title;
  @BindView(R.id.subtitle) TextView subtitle;
  @BindView(R.id.footer) TextView footer;

  @Override public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.simple_activity);
    ButterKnife.bind(this);
    // TODO Use fields...
  }
  @Overrid public void onDestory(){
<span style="white-space:pre">	</span>super.onDestory();
<span style="white-space:pre">	</span>ButterKnife.unBind(this);<span style="white-space:pre">	</span>
   }
 }
②Fragment的绑定
public abstract class BaseFragment extends Fragment {
    protected View mRootView;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        mRootView =inflater.inflate(getContentViewId(),container,false);
        ButterKnife.bind(this,mRootView);//绑定framgent
                return mRootView;
    }

    @Override
    public void onDestroyView() {
        super.onDestroyView();
        ButterKnife.unbind(this);//解绑
    }
}
③Adapter中的绑定
public class TestAdapter extends BaseAdapter {
    private List<String> list;
    private Context context;


    public TestAdapter(Context context, List<String> list) {
        this.list = list;
        this.context = context;
    }


    @Override
    public int getCount() {
        return list==null ? 0 : list.size();
    }


    @Override
    public Object getItem(int position) {
        return list.get(position);
    }


    @Override
    public long getItemId(int position) {
        return position;
    }


    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder;
        if (convertView == null) {
            convertView = LayoutInflater.from(context).inflate(R.layout.layout_list_item, null);
            holder = new ViewHolder(convertView);
            convertView.setTag(holder);
        } else {
            holder = (ViewHolder) convertView.getTag();
        }
        holder.textview.setText("item=====" + position);
        return convertView;
    }


    static class ViewHolder {
        @Bind(R.id.hello_world)
        TextView textview;


        public ViewHolder(View view) {
            ButterKnife.bind(this, view);
        }
    }
}

④点击事件绑定

参数的指定可选

@OnClick(R.id.submit)
public void submit(View view) {
  // TODO submit data to server...
}
<pre name="code" class="java" style="font-size: 18px; line-height: 26px;">@OnClick(R.id.submit)
public void submit() {
  // TODO submit data to server...
}
定义一个特定类型,它将自动转换
@OnClick(R.id.submit)
public void sayHi(Button button) {
  button.setText("Hello!");
}
多个view绑定一个onClick事件
@OnClick({ R.id.view1, R.id.view2, R.id.view3 })
    public void click(View view) {
<span style="white-space:pre">	</span>
}

总的来说常用的功能如上,由于之前用过Xutils3.0做注解,感觉和ButterKnife差不多,具体区别以后再体会。希望有大神看到本篇博文可以评论指教一番



树莓派通过TTL3.3转485 Modbus采集水表 所需道具 树莓派0,我用的是树莓派zero wh; 具有光电直读功能的有线水表,我用的是咸鱼淘的埃美柯LXSY-20E1; TTL3.3 转 485模块,带隔离的贵些; 5V转12V升压模块。 原理 树莓派有UART(GPIO14 Tx 和 GPIO15 Rx)串口通讯功能,电器特性是3.3V TTL,直读远传水表支持M-Bus/485通讯接口,我买的光电直读水表485要求12V供电(根据仪表厂家说明书)。TTL和485虽然都是串口通讯,但电器特性不一样,不能直接接!我已经烧掉一个树莓派... 阅读详情

相关推荐

一文搞懂雷达脉冲压缩和匹配滤波器

为了解决传统单频脉冲雷达面临的作用距离和空间分辨力之间的矛盾,脉冲压缩理论被提出。在接收端设计一个和发射信号能够“共轭匹配”的网络来实现脉冲压缩。接收到的回波信号通过匹配滤波器时,滤波器的增益在信号越强的频率点越大;在信号越弱的频率点,增益越小,通过这样的方式使信号在时域更加集中。脉冲压缩技术大致可分为线性调频(LFM)和相位编码。其中LFM信号易于通过硬件或各种技术产生,但是进行匹配滤波后主旁瓣比高达13.2dB,在检测多个目标时,强目标的回波旁瓣可能会把弱小信号覆盖,导致弱小信号的检测受到影响。

FPGA入门到跑路 9941

Android Studio 中关于 ButterKnife的配置及使用

ButterKnife 优势: 1.强大的View绑定和Click事件处理功能,简化代码,提升开发效率 2.方便的处理Adapter里的ViewHolder绑定问题 3.运行时不会影响APP效率,使用配置方便 4.代码清晰,可读性强 使用心得: 1.Activity ButterKnife.bind(this);必须在setContentVi

RylynnKang 的博客 485

YOLOv5+Astra Pro Plus深度相机:手把手教你实现实时目标检测(附ROS配置技巧)

本文详细介绍了如何将YOLOv5目标检测算法与Astra Pro Plus深度相机结合,构建实时目标检测系统。内容涵盖从硬件选型、环境搭建、ROS配置到YOLOv5部署与深度信息融合的完整流程,并分享了性能优化、避障算法等实战技巧,帮助开发者在机器人视觉等场景中快速实现智能感知应用。

weixin_28292761的博客 391

Android框架之ButterKnife(黄油刀)

Android框架之ButterKnife(黄油刀) Butterknife简介 ButterKnife是一个专注于Android系统的View注入框架,可以减少大量的findViewById以及setOnClickListener代码,可视化一键生成。 ButtonKnife优点 1.强大的View绑定和Click事件处理功能,简化代码,提升开发效率 2.方便的处理Adapter里的V

Android开发-CXY的博客 1154

TensorRT(C++)部署 Pytorch模型

众所周知,python训练pytorch模型得到.pt模型。但在实际项目应用中,特别是嵌入式端部署时,受限于语言、硬件算力等因素,往往需要优化部署,而tensorRT是最常用的一种方式。本文以yolov5的部署为例,说明模型部署在x86架构上的电脑端的流程。(部署在Arm架构的嵌入式端的流程类似)。

女神sha手的博客 5411

RPA 财务共享中心与RPA赋能

在和集团财务官交流的时候,客户经常会提到FSSC,其中有准备建立FSSC,正在建立FSSC,以及已建成FSSC正使用的,当中会有些对FSSC的疑虑和问题,所以花费些时间对FSSC进行了深入调研,从而也有幸拜读了王兴山、陈剑、梅震、钱自严等专业人士写的几本关于FSSC的书,对FSSC的前因后果有了更深入的认识,同时结合自己在FSSC的一些项目经验,故做了本次分享。 本文章主要分享财务共享中心以及R...

weixin_40244959的博客 2757

ButterKnife使用

ButterKnif 定义: 专门为Android View设计的绑定注解,专业解决各种findViewById 优势: 1.强大的View绑定和Click事件处理功能,简化代码,提升开发效率 2.方便的处理Adapter里的ViewHolder绑定问题 3.运行时不会影响APP效率,使用配置方便 4.代码清晰,可读性强 注意事项: 1.Activity ButterKnife.

zhouxing的博客 366

NVIDIA - 人形机器人扼要

人形机器人是仿照人类外形设计的通用双足机器人,旨在与人类并肩工作,提高生产效率。它们能够学习和执行各种任务,如抓取物体、移动集装箱、装卸箱子等。

机器人控制与仿真应用 1292

工作日志:ButterKnife框架的理解与使用

ButterKnife框架的理解  ButterKnife是一个应用与android系统的View注入框架,可以减少大量的findViewById以及setOnClickListenerr代码  优势  1 代码清晰,可读性强  2 运行时 不会影响APP效率,使用配置方便  3 方便处理Adapter里的ViewHolder绑定问题  4 强大的View绑定和Click事件处理功能,

mmp591的博客 254

科研绘图系列:R语言绘制世界地图数据分布(world map)

科研绘图系列:R语言绘制世界地图数据分布(world map)

专注生信领域 531

高并发网络爬虫实践(欧赔、亚盘、大小指数数据爬取)

本文通过对一个实战化的高并发网络爬虫脚本进行深度模块化剖析,展示了如何构建一个兼具性能、健壮性和易用性的数据采集工具。核心设计思想总结模块化与单一职责: 每个函数都专注于解决一个特定问题,无论是网络请求、数据解析还是文件操作。并发与效率: 通过ThreadPoolExecutor实现了高效的并发抓取,极大缩短了总耗时。健壮性与容错: 强大的重试机制、细致的异常处理和线程安全的文件写入,保证了程序在复杂网络环境下的稳定运行。断点续传: 精心设计了进度记录与恢复机制,使得大规模抓取任务变得轻松可控。

猫敷雪 490

Android Studio中ButterKnife的使用

Android Studio中ButterKnife的使用 ButterKnife是大神JakeWharton开源的View依赖注入框架, 使用注解就可以完成View的查找,简化了代码的书写。 告别传统的findViewById()的方式去查找控件, 这样不仅代码量大, 书写还很繁琐, 在工程量大的情况下一不留神就R.id.错了控件, ButterKnife的出现简化了我们

qq_31735439的博客 1364

案例:无人船测量点位数据+ArcGIS 10.6软件生成三维水下地形的两种方法

通常情况下,采用无人船进行水下地形测量,得到的是离散的,具有点号、日期、时间、东坐标(E)、北坐标(N)、水面高程、水下高程和水深等信息的点位数据,该数据一般由航带点位数据加水岸线组成,如下图所示: 原始点位数据格式如下: 下面讲解在ArcGIS软件中生成三维水下地形的两种常用方法。 一、构建不规则三角网(Tin) 1、创建Tin 生成的Tin: 2、Tin转栅格 Tin to Raster: 三维展示: 二、空间插值 栅格插值常用的方法有:克里...

智慧空间实验室 6755

android ButterKnife的简单使用

今天,简单讲讲android里如何使用ButterKnife。 Android框架系列: 一.android EventBus的简单使用 二.android Glide简单使用 三.android OKHttp的基本使用详解 四.android RxJava(RxAndroid)的简单使用 五.android ButterKnife的简单使用   前言: ButterKnife是一...

谢岩的博客 1564

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

ButterKnife的使用和原理

ButterKnife的使用和原理 参考文档: ButterKnife的使用:https://segmentfault.com/a/1190000016460847 ButterKnife的原理:https://juejin.cn/post/6844904181158019079 一、前言 ButterKnife是一个专注于Android系统的View注入框架,以前总是要写很多findViewById来找到View对象,有了ButterKnife可以很轻松的省去这些步骤。 使用ButterKnife对性能基

weixin_43750332的博客 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

ButterKnife使用详解

在android编程过程中,我们会写大量的布局和点击事件,像初始view、设置view监听这样简单而重复的操作让人觉得麻烦类,所以可以采用注解的方式去实现,而ButterKnife则是注解中相对简单易懂的很不错的开源框架,接下来就介绍一下如何使用。基本参照官方文档,加上自己的心得。 使用心得: 1.Activity ButterKnife.bind(this);必须在setConten

ITjianghuxiaoxiong的专栏 9万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Android中ButterKnife的使用

简介 ButterKnife是注解中相对简单易懂的很不错的开源框架,使用ButterKnife可以提升我们的开发效率,不需要写很多findViewById来找到View对象,可以为我们省去很多的时间。 特点 1.强大的View绑定和Click事件处理功能,简化代码,提升开发效率 2.方便的处理Adapter里的ViewHolder绑定问题 3.运行时不会影响APP效率,使用配置方便 4...

wen_haha的博客 1万+

butterknife @OnClick的简单使用流程

@SuppressLint("ResourceType") @OnClick({R.id.image_control, R.id.image_say, R.id.image_playback, R.id.ptz_top_btn,R.id.ptz_bottom_btn,R.id.ptz_left_btn,R.id.ptz_right_btn}) public void onClick(View v) { switch (v.getId()){ ...

nn690960430的博客 4982

ButterKnife 简单使用

(1)ButterKnife是什么? 在开发过程中,我们总是会写大量的findViewById和点击事件,像初始view、设置view监听这样简单而重复的操作让人觉得特别麻烦,当然不会偷懒的程序员不是好程序员,自然也出现了相应的解决方案--依赖注入。而ButterKnife则是依赖注入中相对简单易懂的很不错的开源框架,(其实ButterKnife也不算严格意义上的依赖注入,后面文章中会做分析

XiaoZhuang__的博客 522

android butterknife框架的简单使用

记得很早之前有个xutils框架,就有这个功能,但是它是通过反射和代理发生在运行时期,所以效率肯定没butterknife框架效率高,今天就简单入门,如何使用:github:https://github.com/JakeWharton/butterknife使用三方框架看下它提供的步骤就行,然后按照说的步骤一步步来一般就ok,第一步:dependencies { compile 'com.ja...

zhouguizhi 1116

Android中ButterKnife的详细使用

最近刚学会使用ButterKnife,真是超级好用,忍不住要分享给大家了。 写在前面:该文档使用7.0版本,8.0版本方法名有所改动,建议看官方文档,整体业务逻辑和原理没什么变动。 在Android编程过程中,我们会写大量的布局和点击事件,像初始view、设置view监听这样简单而重复的操作让人觉得麻烦类,所以可以采用注解的方式去实现,而ButterKnife则是注解中相对简单

秦军锐士的博客 5323

butterKnife 简单使用

(1)ButterKnife是什么? 在开发过程中,我们总是会写大量的findViewById和点击事件,像初始view、设置view监听这样简单而重复的操作让人觉得特别麻烦,当然不会偷懒的程序员不是好程序员,自然也出现了相应的解决方案--依赖注入。而ButterKnife则是依赖注入中相对简单易懂的很不错的开源框架,(其实ButterKnife也不算严格意义上的依赖注入,后面文章中会做分析

MissGentlemen的博客 375

ButterKnife简单使用

记录ButterKnife 框架使用; 首先 app 下的 gradle 中加入: //butterKnife implementation 'com.jakewharton:butterknife:8.8.1' annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1' 再去 project ...

wuqingsen1的博客 200

ButterKnife使用方法详解

介绍 ButterKnife是一个专注于Android系统的View注入框架,以前总是要写很多findViewById来找到View对象,有了ButterKnife可以很轻松的省去这些步骤。使用ButterKnife对性能基本没有损失,因为ButterKnife用到的注解并不是在运行时反射的,而是在编译的时候生成新的class。 GitHub地址:https://github.com/Jake...

孤独的冥王星 5万+

Butterknife 的简单使用

添加依赖 implementation 'com.jakewharton:butterknife:8.5.1' annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1' 自定义一个activity继承AppCompatActivity  这个类需要时抽象类(abstract) public abstract cl...

bai1452789545的博客 236

butterknife的简单使用

在项目的project的build.gradle(Module:app)文件中添加 implementation "com.jakewharton:butterknife:10.0.0" androidTestImplementation "com.jakewharton:butterknife-compiler:10.0.0" annotationProcessor 'com.jak...

秀玉轩晨的博客 406
上一篇: RecycleView的使用步骤
下一篇: 自定义ViewGroup之Topbar----布局代码的缩减,实现app风格的高度一致
coder_e
博客等级 码龄10年 6粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值