Android Studio中的大量findViewById
一、 分析
在Android Studio中开发时,findViewById是用的最多的函数之一。经常需要对返回的view进行类型转换,输入麻烦、代码丑陋。
本文提供两种方案来解决这个问题:
1、安装findViewByMe插件,快速批量生成findViewById
2、安装ButterKnife插件,使用注解的方式替换代码中大量的findViewById
二、方案一:findViewByMe
1、安装findViewByMe插件
在settings中找到Plugins,搜索findViewByMe,点击Install安装插件(由于已安装,显示的是Uninstall),然后重启一下。
2、批量生成findViewById
在layout的xml文件中右键找到findViewByMe,然后就可以快速获得findViewById,复制粘贴到class文件中即可。
三、方案二:ButterKnife
1、安装ButterKnife插件
在settings中找到Plugins,搜索ButterKnife,点击Install安装插件(由于已安装,显示的是Uninstall)
2、注解替换findViewById
在build.gradle文件中添加
compile 'com.jakewharton:butterknife:7.0.0'
在Activity.java文件中找到布局文件名,右键 -> Generate -> Generate Butterknife Injections -> Confirm
代码中会自动生成各个在布局文件中带有id 属性的view的注解形式,如下代码段:
Android Studio中的大量findViewById的更多相关文章
- 在Android Studio中使用BaiduMap SDK实时获取当地位置信息
配置BaiduMap 环境 1.在百度API中新建自己的一个APP包名和APP名需要注意和自己Android Studio 中的包名和APP名保持一致: 2.百度地图中还需要填写一个SHA1 数字签名 ...
- 在Android Studio中进行单元测试和UI测试
本篇教程翻译自Google I/O 2015中关于测试的codelab,掌握科学上网的同学请点击这里阅读:Unit and UI Testing in Android Studio.能力有限,如有翻译 ...
- Android Studio中配置及使用OpenCV示例
Android Studio配置及使用OpenCV 前言:最近在做项目移植,项目较大,在Eclipse中配置的Jni及OpenCV环境没任何问题,但是迁移到Studio中就问题一大堆,网上也找了一些资 ...
- Android studio 中创建AIDL Service
1.概述 AIDL在android系统中的作用 AIDL,Android Interface definition language的缩写,它是一种android内部进程通信接口的描写叙述语言, ...
- OpenCV3.4.1快速集成到Android studio中,10分钟搞定
OpenCV3.4.1快速集成到Android studio中,10分钟搞定 转载 https://blog.csdn.net/yu540135101/article/details/8259 ...
- android studio 中移除module和恢复module
一.移除Android Studio中module 在Android Studio中想要删除某个module时,在Android Studio中选中module,右键发现没有delete,如图: An ...
- Android Studio中Button等控件的Text中字符串默认大写的解决方法
初学Android的时候,在Android Studio中xml里面添加一个Button.EditText等控件后,它的Text总是会显示大写,即使你输入的字符串是小写也不行,控制字符串大小写的属性是 ...
- .Net程序员之不学Java做安卓开发:Android Studio中的即时调试窗口
对学.Net的人来说,JAVA开发是一场噩梦. .net中的即时窗口,调试时直接在里面写代码,对程序中的各种方法/属性进行调用,很方便. Android Studio中找了好久,参考如下网址,也有类似 ...
- 如何将Eclipse中的项目迁移到Android Studio 中
如何将Eclipse中的项目迁移到Android Studio 中 如果你之前有用Eclipse做过安卓开发,现在想要把Eclipse中的项目导入到Android Studio的环境中,那么首先要做的 ...
随机推荐
- 图灵一代接入V1
现在官方没有一代接入了,但是还是可用,留个方法 $.ajax({ type:"post", url:"http://www.tuling123.com/openapi/a ...
- Vue Loader
介绍 允许为 Vue 组件的每个部分使用其它的 webpack loader,例如在 <style> 的部分使用 Sass 和在 <template> 的部分使用 Pug(模板 ...
- 楚乔传 Princess Agents
英文片名是:Princess Agents 公主特工,哈哈,女主角是公主...所有隐藏的线索都暴露了...这么搞笑呢.
- HALCON示例:BOTTLE.HDEV 光学字符识别(分割OCR)
* * bottle.hdev: Segment and read numbers on a beer bottle 分割读取啤酒瓶上的数字* * Step 0: Preparations* Spec ...
- Spark 基础之SQL 快速上手
知识点 SQL 基本概念 SQL Context 的生成和使用 1.6 版本新API:Datasets 常用 Spark SQL 数学和统计函数 SQL 语句 Spark DataFrame 文件保存 ...
- zabbix 3.4 直接 发现端口并作存活监控(带服务名)
客户端配置 1.脚本 [root@es1 home]# cat /home/port_service.sh #!/bin/bash#by Mr.lu#su rootportarray=(`sudo - ...
- Curator框架基础使用
为了更好的实现java操作zookeeper服务器.后来出现Curator框架,非常强大,目前已经是Apache的顶级项目,有丰富的操作,,例如:session超时重连,主从选举.分布式计数器,分布式 ...
- centos6 下erlang安装
https://packages.erlang-solutions.com/erlang/
- Poiji:基于列名绑定方式将Excel单元行转换为JavaBean的开源框架
公司的日常事务中经常需要使用excel进行数据汇总,导入导出进行归类统计分析. 因为没有广泛流行的单元行到类转换/属性绑定工具,在功能开发之初或者很长一段时间内, 业务系统中我们处理普通excel数据 ...
- react 子元素修改父元素值的一个偏方,虽然简单,但是不建议用,
this.state.obj = { name: "小明" } <Zizujian obj={this.state.obj} /> // 子组件这样修改父元素的值 // ...