Android中使用findViewByMe提升组件查找效率
1、引出
安卓初学者一般在写android Activity的时候总是会在onCreate方法中加上setContentView方法来加载layout,通过findViewById来实现控件的绑定,刚开始的演示的layout中只有一两个组件还好,但突然之间接触一个layout中需要部署大量控件,这样就会很耽误时间,还好AndroidStudio为大家提供了方便的插件findViewByMe(大家也可以去了解注解,尤其是编译时的注解,不会影响性能喔)。
2、操作演示
这里演示时,插件我已经提前安装好了,大家可以自行安装,然后重启AndroidStudio即可。
3、注意事项
(1)添加RootView
针对Fragment需要添加rootView这种,首先勾选“Add RootView”;
然后在编辑框中输入rootView的名称,例contentView;
最后点击添加,生成的代码就更新了。
(2)Adapter中的ViewHolder
勾选上“Is ViewHolder”就行了,代码就更新了;
这里的控件变量不再添加任何修饰符。
一些变量得自行去处理,这里不再赘述。
(3)命名规则
控件变量的命名规则:变量命名是根据控件的id来的,例如id是edit_user_name,那么生成的变量名称就是editUserName;
控件变量默认使用private修饰符;
关于添加“m”的问题,这个直接在兑换框中勾选“Add “m””就行了,此时变量命名就变成mEditUserName。
4.补充
也可以使用 https://github.com/boredream/BorePlugin(更加爽快啊)
代码生成规则:
(1)自动遍历目标布局中所有带id的文件, 无id的不会识别处理
(2)控件生成的变量名默认为id名称, 可以在弹出确认框右侧的名称输入栏中自行修改
(3)所有的Button或者带clickable=true的控件, 都会自动在代码中生成setOnClickListener相关代码
(4)所有EditText控件, 都会在代码中生成非空判断代码, 如果为空会提示EditText的hint内容, 如果hint为空则提示xxx字符串不能为空字样, 最后会把所有输入框的验证合并到一个submit方法中
(5)会自动识别布局中的include标签, 并读取对应布局中的控件
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!
相关推荐
-
android中sqlite的按条件查找的小例子
name hobby Tom football Peter basketball 我们如果要查找爱好是football的一行数据怎么办呢?在网上找了很多方法,感觉都说不到点子上,所以浪费了很多时间,好在终于解决了,解决方法如下 [java] 复制代码 代码如下: Cursor mcursor=mSQLiteDatabase.query(tableName, new String[]{"id as _id","name","
-
android用java和c实现查找sd卡挂载路径(sd卡路径)的方法
方法一: 分析 mount 命令的返回信息,例如: 复制代码 代码如下: $ mountrootfs / rootfs ro,relatime 0 0tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0devpts /dev/pts devpts rw,relatime,mode=600 0 0proc /proc proc rw,relatime 0 0sysfs /sys sysfs rw,relatime 0 0debugfs /sys/kern
-
Android编程实现从字符串中查找电话号码的方法
本文实例讲述了Android编程实现从字符串中查找电话号码的方法.分享给大家供大家参考,具体如下: /** * 从字符串中查找数字字符串 */ private List<String> getNumbers(String content) { List<String> digitList = new ArrayList<String>(); Pattern p = Pattern.compile("(\\d+)"); Matcher m = p.ma
-
Android手机联系人带字母索引的快速查找
喜欢另辟蹊径的我,在这里废话不多说了,直接上代码和图片了. 效果图如下: 第一步:MainActivity的代码如下: package net.loonggg.test; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.TreeSet; import android.os.Bundle; import and
-
Android SQLite数据库的增 删 查找操作
在Android开发中,有时我们需要对SQLite数据库进行增,删,查,找等操作,现在就来简单介绍一下,以下为详细代码. 一.创建一个自定义数据库 二.创建一个自定义适配器 三.编写MainActivity代码 以上所述是小编给大家介绍的Android SQLite数据库的增 删 查找操作,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的.在此也非常感谢大家对我们网站的支持!
-
Android中使用findViewByMe提升组件查找效率
1.引出 安卓初学者一般在写android Activity的时候总是会在onCreate方法中加上setContentView方法来加载layout,通过findViewById来实现控件的绑定,刚开始的演示的layout中只有一两个组件还好,但突然之间接触一个layout中需要部署大量控件,这样就会很耽误时间,还好AndroidStudio为大家提供了方便的插件findViewByMe(大家也可以去了解注解,尤其是编译时的注解,不会影响性能喔). 2.操作演示 这里演示时,插件我已经提前安装
-
Android中的RecyclerView新组件初步上手指南
介绍 RecyclerView是support-v7包中的新组件,是一个强大的滑动组件,与经典的ListView相比,同样拥有item回收复用的功能,但是直接把viewholder的实现封装起来,用户只要实现自己的viewholder就可以了,该组件会自动帮你回收复用每一个item. 它不但变得更精简,也变得更加容易使用,而且更容易组合设计出自己需要的滑动布局. RecyclerView与ListView原理是类似的:都是仅仅维护少量的View并且可以展示大量的数据集.RecyclerView用
-
Android编程中的四大基本组件与生命周期详解
本文实例讲述了Android编程中的四大基本组件与生命周期.分享给大家供大家参考,具体如下: Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器. 一:了解四大基本组件 Activity : 应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应. Activity之间通过Intent进行通信.在Intent 的描述结构中,有两个最
-
从源码剖析Android中的Intent组件
我们知道,Intent主要用来激活安卓几大组件,那么它具体是怎样来激活的?激活时是否可以携带java对象?为何要将对象序列化后才能传递? 一.Intent官网解释 Intent可以被startActivity用来加载Activity,也可以被broadcastIntent发送给指定的BroadReceiver组件, 或者被startService.bingService来与后台service通信. Intent最主要作用就是加载Activity,好比Activity之间的胶水. Intent数据
-
Android中自定义Checkbox组件实例
在Android中,Checkbox是一个很重要的UI组件,而且在Android中,它展现的形式越来越好看,这就说明有些系统,比如4.0以下,checkbox还是比较不好看,或者跟软件的风格不协调,就需要我们自定义这个组件. 自定义这个组件很简单,简单的增加修改xml文件即可. 准备工作 准备好两张图片,一个是选中的图片,另一个是未选中的图片.本文以checked.png和unchecked.png为例. 设置选择框 在drawable下新建文件custom_checkbox.xml 复制代码
-
详解Android中通过Intent类实现组件间调用的方法
Intent是Android中用来调用其它组件的类,通过Intent,我们可以非常方便的调用Activity,Broadcast Receiver和Service. Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("http://www.baidu.com")); startActivity(intent); 上面这段代码可以用来调用第三方的Activity(启动第三方浏览器来打开百度首页
-
详解Android中BroadCastReceiver组件
BroadcastReceiver也就是"广播接收者"的意思,它是用来接收来自系统和应用中的广播. 在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制.而BroadcastReceiver是对发送出来的 Broadcast进行过滤接受并响应的一类组件. 下面将详细的阐述如何发送Broadcast和使用BroadcastReceiver过滤接收的过程: (1)首先在需要发送信息的地方,把要发送的信息和用于过滤的信息(如Action.Category)装入一
-
Android中PopupMenu组件的使用实例
最近学习研究了一下Android中PopupMenu组件的使用,发现很实用,所以留个笔记留作日后查询 估计很多人遇到过这种场景: 要求弹出的PopupWindow里面是一个列表,我们使用时都是在里面套个ListView或RecyclerView ,现在我们不需要在做这样繁琐的工作了. 在官方android.support.v7.widget 包下提供的 PopupMenu 组件,已经被越来越多的项目所采用.我们先看一下几个 app 的效果: 这是一个非常轻量化的上下文菜单组件,简洁.使用方便.
-
python中in在list和dict中查找效率的对比分析
首先给一个简单的例子,测测list和dict查找的时间: import time query_lst = [-60000,-6000,-600,-60,-6,0,6,60,600,6000,60000] lst = [] dic = {} for i in range(100000000): lst.append(i) dic[i] = 1 start = time.time() for v in query_lst: if v in lst: continue end1 = time.time
随机推荐
- angular.js分页代码的实例
- 如何一行行地读取文件?
- 分享15个美化代码的代码语法高亮工具
- Informatica bulk与normal模式的深入详解
- 基于java TCP网络通信的实例详解
- iOS手势的实现方法
- 解决ASP.NET中"/"应用程序中的服务器错误的方法
- AJAX聊天室V1.0发布
- 编写高效jQuery代码的4个原则和5个技巧
- SQLServer恢复表级数据详解
- SQLSever导入数据图文方法
- 使用Ajax与服务器(JSON)通信实例
- Android4.4新增函数访问外部存储
- C#实现的简单验证码识别实例
- 基于Android Service 生命周期的详细介绍
- 毕业论文-客户关系管理与数据挖掘技术综述
- Python实现将数据框数据写入mongodb及mysql数据库的方法
- 详解Angular结合zTree异步加载节点数据
- 详解eclipse将项目打包成jar文件的两种方法及问题解决方法
- php实现获取近几日、月时间示例