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的环境中,那么首先要做的 ...
随机推荐
- 在线安装TIDB集群
在线安装TiDB集群 服务器准备 说明:TiDB8需要能够连接外网,以便下载各类安装包 TiDB4非必须,但最好是有一台,因为后续测试Mysql数据同步或者进行性能比较时,都要用到 TiKV最好是采 ...
- 1.微信小程序里如何设置当地时间?
方法一: 1.效果图 2.wxml code: <!--pages/index/index.wxml--> <text>当前时间:{{time}}</text> & ...
- cacti监控服务器
1.Cacti基本概念详解 Cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户 ...
- container injection——容器技术
(一)容器技术为什么出现 在很久很久以前,想要在线上服务器部署一个应用,首先需要购买一个物理服务器,在服务器安装一个操作系统,然后安装好应用所需要的各种依赖环境,最后才可以进行应用的部署,而且一台服务 ...
- 从零开始搭建自己的VueJS2.0+ElementUI单页面网站(一、环境搭建)
原网址:https://blog.csdn.net/u012907049/article/details/72764151 前言 VueJS可以说是近些年来最火的前端框架之一,越来越多的网站开始使用v ...
- hello2
String username = request.getParameter("username");//获取参数值 if (username != null && ...
- 245. Shortest Word Distance III 单词可以重复的最短单词距离
[抄题]: Given a list of words and two words word1 and word2, return the shortest distance between thes ...
- [leetcode]18. 4Sum四数之和
Given an array nums of n integers and an integer target, are there elements a, b, c, and d in nums s ...
- makefile中一些编译器选项
Libraries Static Libraries a collection of ordinary object files (目标文件的集合) loaded at program link ti ...
- python 常用标准库
标准库和第三方库第一手资料: 在线: 官方文档(https://docs.python.org/) 离线:交互式解释器(dir().help()函数),IPython(tab键提示.?.??) 一. ...