ButterKnife 懒癌患者的福音

2023-10-22 02:20

本文主要是介绍ButterKnife 懒癌患者的福音,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

初了解到ButterKnife的时候,其实我的内心是拒绝的,毕竟,在我的潜意识里,我更求稳不求简便,所以活该我写了好几百遍的findViewById,昨天抽空学习了一下ButterKnife,内心无比奔腾,深深感悟到了一句话,现在写findViewById流的泪,是当初拒绝新技术脑子进的水。

 

开这篇帖,记录一下学习的过程,懒癌患者请注意,为了将懒癌进行到底,在项目开启之前,确保你的AS里,是有ButterKnife Zelezny的。如果没有,没有关系,先花几分钟下载一下,如果已经下载了,你可以迅速往下滚了,那么下载过程如下:

File-->Settings...打开设置窗口

由于我这边AS是已经下载好ButterKnife Zelezny了的,所以只能给一个截图,告诉你们怎么做。继上一步打开设置窗口之后,界面如下:

选中Plugins,然后搜索ButterKnife Zelezny,选中并安装就可以了,安装好之后,需要重启AS。

 

 

接下来进入ButterKnife的正式使用,使用的第一步,在gradle中添加依赖:

 

compile 'com.jakewharton:butterknife:8.5.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'

添加之后如图:

 

添加好依赖之后,重新同步一遍,确保你的依赖是添加成功的。

 

接下来,进入到Activity,传统Activity的写法一般就是这样的:

首先就是各种控件的声明,然后就是setContentView,在initView()中写一堆的findViewById,接下来要是按钮还有个什么点击事件之类的,就一堆的点击事件也跟着出来了。但是用了ButterKnife之后,福音来了,很简单,首先,把你的各种控件的声明把你的initView(),把你的各种setOnClickListener全部屏蔽掉,然后,setContentView紧接着就绑定ButterKnife,像这样:

然后对着你的视图文件,右键,注意,要对着你的视图文件名称右键,如图:

按操作来,只有视图文件的那个名称右键选择Generrate...才会出现ButterKnife的快捷操作,点击框中的那一项:

之后出现如下弹窗:

选中你要findViewById的控件,这里我全选了,所以Element处打个勾吧,如果有点击事件,很简单对应控件屁股后面的选择框,打个勾,最后,Confirm:

自此,就差不多啦,就是这么简单对吧~

 

当然,ButterKnife同样可以在Fragment和Adapter中使用,这里也简单的介绍一下:

在Fragment中,和Activity中差不多,这里简单一个例子说明,唯一不同的时候,是最初绑定的时候,其他的使用方式一样:

 

    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {super.onCreateView(inflater, container, savedInstanceState);View addPlanView;addPlanView = inflater.inflate(R.layout.new_fragment_scrolllayout_x76, null);ButterKnife.bind(addPlanView);//绑定return addPlanView;}

 

 

 

Adapter中是这样使用的,在快捷方式中,其实是有一个Create ViewHolder的,选中它,然后确认:

可以看到代码出来了一串东西:

那么怎么在代码中使用呢,很简单,一样只需要绑定视图就OK啦:

 

    @Overridepublic View getView(int position, View convertView, ViewGroup parent) {if (convertView == null) {convertView = mInflater.inflate(R.layout.new_gridview_item_addplan, null);ViewHolder vh = new ViewHolder(convertView);//重点在于这一句,绑定视图convertView.setTag(vh);} else {vh = (ViewHolder) convertView.getTag();}Glide.with(ctx).load(pclist.get(position).getImage_url()).transform(new GlideCircleTransform(ctx)).error(R.drawable.new_loding_failed_circular).into(vh.iv_addplan);vh.tv_addplan_num.setText(pclist.get(position).getSort_value() + "");vh.tv_addplan_name.setText(pclist.get(position).getPlan_cate_title());return convertView;}

自此,我所学到的方式,都总结完啦,有不对的地方可以留言指教~

 

 

这篇关于ButterKnife 懒癌患者的福音的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/258505

相关文章

【多系统萎缩患者必看】✨维生素补充全攻略,守护你的健康每一天!

亲爱的朋友们,今天我们要聊一个既重要又容易被忽视的话题——‌多系统萎缩患者如何科学补充维生素‌!🌟 在这个快节奏的生活中,健康成为了我们最宝贵的财富,而对于多系统萎缩(MSA)的患者来说,合理的营养补充更是维护身体机能、提升生活质量的关键一步。👇 🌈 为什么多系统萎缩患者需要特别关注维生素? 多系统萎缩是一种罕见且复杂的神经系统疾病,它影响身体的多个系统,包括自主神经、锥体外系、小脑及锥

在糖尿病患者信息管理系统中,导入病人信息功能!

在糖尿病患者信息管理系统中,导入病人信息功能!form表单提交数据(Excel文件),在后台得不到file文件,解决方法:         private File filePath; //文件         private String fileName; //文件名         private String fileType; //文件类型 注:上面filePath必须有,否则下面

在糖尿病患者信息管理系统中,交流区模块想模仿论坛那样几楼几楼的!

在糖尿病患者信息管理系统中,交流区模块想模仿论坛那样几楼几楼的! <s:if test="%{#request.page.pageData!=null}"> <s:iterator value="%{#request.page.pageData}" status="st" var="followCards"> <s:if test="%{#followCards.status==1 &&

Exception in plugin Android ButterKnife zelezny

所在页面的布局文件命名id有问题,不能有两个下划线,,如tv__name

butterKnife注解不起作用问题

官网https://github.com/JakeWharton/butterknife 根据官网介绍依赖了 compile 'com.jakewharton:butterknife:8.8.1'annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1' 然后再在androidstudio-setting-plugin

[配套工具] 【新手福音】最简单的大漠插件注册方法 只需四行代码 每行附有详细说明

很多新手不会注册大漠插件,论坛上又没有讲得特别详细、能让新手一看就懂的教程,故开此贴,专给不会注册大漠插件的新手看 ——By:圣龙 此贴讲的是本人总结的最简洁、实用、易理解的注册大漠插件的方法,只需四行代码,代码中一些细节部分和他人不同,文章末尾有对4行代码的每行解释,新手看了就能懂(理解代码的意思才会有长进),不像其他人只把代码贴出来,让不明真相的新手自己拼凑、理解。 首先,

【舞动生命,不缺营养!】亨廷顿舞蹈症患者必知的维生素补给站

Hey小伙伴们~👋 今天我们来聊聊一个既特别又需要我们温柔以待的话题——亨廷顿舞蹈症(HD)。在这个充满挑战的旅程中,除了医疗团队的精心治疗,合理的饮食与维生素补充也是不可或缺的支持力量哦!🌈 🌿维生素B家族:大脑的守护者 首先,让我们从维生素B家族说起吧!维生素B群,特别是B6、B12和叶酸,对神经系统健康至关重要。🧠 对于亨廷顿舞蹈症患者而言,它们能帮助缓解神经退行性病变带来的不适

耳机重度患者在用的蓝牙耳机?四款值得入手的开放式耳机推荐

作为使用过不下五十款蓝牙耳机的耳机重度患者,最近开放式耳机确实很流行,而且其实开放式耳机也有很多优点的,主要是有下面几点: 1佩戴体验‌:由于‌开放式耳机非直接入耳,所以‌长时间佩戴也不会产生闷热感。而且还有‌一些开放式耳机是采用挂耳式的设计,使用的是柔软的硅胶耳挂以及轻量化的材质,所以还能够‌提高开放式耳机的舒适度。 2干净卫生‌:因为是‌不入耳的设计,而且这种设计能使耳道保持透气,所以

Sankey流图在老年癌症患者症状分析中的应用|科研绘图·24-09-03

小罗碎碎念 本期推文主题|桑基图 桑基图我们很多人都不陌生,但是大部分应该都是仅限于在文献中读到过,动手去实践的较少,在文献中的具体作用,可能也不太清楚,所以我这一期推文就来盘一盘桑基图。 本期推文共有两部分,第一部分是介绍一下桑基图的定义,并提供了一个R语言的完整代码,方便大家理解绘制桑基图的基本流程。 第二部分则是准备了一篇与老年癌症患者症状分析相关的文章,分析了桑基图在文献中的

编程修炼之github利器Github Packages 开发者福音

前几天在GitHub闲逛,突然发现了Github Packages,当时还想这是什么东东,于是点开链接 https://docs.github.com/en/packages/using-github-packages-with-your-projects-ecosystem/using-github-packages-with-github-actions 之后发现,哎呀,真香~~~ 包有好几种